From: Ian Jackson Date: Fri, 12 Feb 2021 00:54:29 +0000 (+0000) Subject: hidden: Add some missing impls X-Git-Tag: otter-0.4.0~544 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=d9e14eb56bd56582b8df74ed3e95663015e6a73a;p=otter.git hidden: Add some missing impls Signed-off-by: Ian Jackson --- diff --git a/src/hidden.rs b/src/hidden.rs index a43040d2..476a048a 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -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 { +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 { + Some(self.cmp(rhs)) } }