chiark / gitweb /
hidden: Add some missing impls
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 12 Feb 2021 00:54:29 +0000 (00:54 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 12 Feb 2021 01:38:24 +0000 (01:38 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/hidden.rs

index a43040d2e6c8b373096a32f963038c8e508fbac4..476a048ab1fe8e7620b84246c0ef87404bf28110 100644 (file)
@@ -40,7 +40,7 @@ pub struct OccultView {
 }
 
 #[derive(Clone,Copy,Debug,Serialize,Deserialize)]
-#[derive(Eq,PartialEq)]
+#[derive(Eq,PartialEq,Hash)]
 pub enum OccultationKind {
   Visible,
   Scrambled,
@@ -52,16 +52,20 @@ impl Default for OccultationKind {
   fn default() -> Self { OccK::Visible }
 }
 
-impl PartialOrd for OccultationKind {
-  fn partial_cmp(&self, rhs: &Self) -> Option<Ordering> {
+impl Ord for OccultationKind {
+  fn cmp(&self, rhs: &Self) -> Ordering {
     fn level(k: &OccK) -> u8 { use OccultationKind::*; match k {
       Visible       => 0,
       Scrambled     => 1,
       Displaced{..} => 2,
       Invisible     => 3,
     } }
-
-    level(self).partial_cmp(&level(rhs))
+    level(self).cmp(&level(rhs))
+  }
+}
+impl PartialOrd for OccultationKind {
+  fn partial_cmp(&self, rhs: &Self) -> Option<Ordering> {
+    Some(self.cmp(rhs))
   }
 }