diff options
| -rw-r--r-- | library/core/src/cmp.rs | 5 | ||||
| -rw-r--r-- | library/core/tests/cmp.rs | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/library/core/src/cmp.rs b/library/core/src/cmp.rs index ddaeb9eca97..74328a3607d 100644 --- a/library/core/src/cmp.rs +++ b/library/core/src/cmp.rs @@ -333,7 +333,7 @@ pub struct AssertParamIsEq<T: Eq + ?Sized> { /// let result = 2.cmp(&1); /// assert_eq!(Ordering::Greater, result); /// ``` -#[derive(Clone, Copy, PartialEq, Debug, Hash)] +#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)] #[stable(feature = "rust1", since = "1.0.0")] #[repr(i8)] pub enum Ordering { @@ -862,9 +862,6 @@ pub macro Ord($item:item) { } #[stable(feature = "rust1", since = "1.0.0")] -impl Eq for Ordering {} - -#[stable(feature = "rust1", since = "1.0.0")] impl Ord for Ordering { #[inline] fn cmp(&self, other: &Ordering) -> Ordering { diff --git a/library/core/tests/cmp.rs b/library/core/tests/cmp.rs index 2b234de6795..8d0e59d5a49 100644 --- a/library/core/tests/cmp.rs +++ b/library/core/tests/cmp.rs @@ -134,6 +134,19 @@ fn ordering_const() { } #[test] +fn ordering_structural_eq() { + // test that consts of type `Ordering` are usable in patterns + + const ORDERING: Ordering = Greater; + + const REVERSE: Ordering = ORDERING.reverse(); + match Ordering::Less { + REVERSE => {} + _ => unreachable!(), + }; +} + +#[test] fn cmp_default() { // Test default methods in PartialOrd and PartialEq |
