Rollup merge of #101810 - raldone01:feat/const_partial_eq_ordering, r=fee1-dead

Constify `PartialEq` for `Ordering`

Adds `impl const PartialEq for Ordering {}` to #92391.
This commit is contained in:
Matthias Krüger 2022-09-15 08:00:16 +02:00 committed by GitHub
commit b71b640f3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -23,6 +23,7 @@
#![stable(feature = "rust1", since = "1.0.0")]
use crate::marker::Destruct;
use crate::marker::StructuralPartialEq;
use self::Ordering::*;
@ -338,7 +339,7 @@ pub struct AssertParamIsEq<T: Eq + ?Sized> {
/// let result = 2.cmp(&1);
/// assert_eq!(Ordering::Greater, result);
/// ```
#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)]
#[derive(Clone, Copy, Eq, Debug, Hash)]
#[stable(feature = "rust1", since = "1.0.0")]
#[repr(i8)]
pub enum Ordering {
@ -884,6 +885,18 @@ fn clamp(self, min: Self, max: Self) -> Self
/* compiler built-in */
}
#[stable(feature = "rust1", since = "1.0.0")]
impl StructuralPartialEq for Ordering {}
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "92391")]
impl const PartialEq for Ordering {
#[inline]
fn eq(&self, other: &Self) -> bool {
(*self as i32).eq(&(*other as i32))
}
}
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "92391")]
impl const Ord for Ordering {