pub trait StructuralPartialEq { }
structural_match
#31434)Expand description
Required trait for constants used in pattern matches.
Constants are only allowed as patterns if (a) their type implements
PartialEq
, and (b) interpreting the value of the constant as a pattern
is equivalent to calling PartialEq
. This ensures that constants used as
patterns cannot expose implementation details in an unexpected way or
cause semver hazards.
This trait ensures point (b).
Any type that derives PartialEq
automatically implements this trait.
Implementing this trait (which is unstable) is a way for type authors to explicitly allow
comparing const values of this type; that operation will recursively compare all fields
(including private fields), even if that behavior differs from PartialEq
. This can make it
semver-breaking to add further private fields to a type.
Implementors§
impl StructuralPartialEq for AsciiChar
ferrocene_certified
only.impl StructuralPartialEq for core::cmp::Ordering
impl StructuralPartialEq for FromBytesWithNulError
ferrocene_certified
only.impl StructuralPartialEq for core::fmt::Alignment
impl StructuralPartialEq for DebugAsHex
impl StructuralPartialEq for Sign
impl StructuralPartialEq for AtomicOrdering
impl StructuralPartialEq for IpAddr
ferrocene_certified
only.impl StructuralPartialEq for Ipv6MulticastScope
ferrocene_certified
only.impl StructuralPartialEq for SocketAddr
ferrocene_certified
only.impl StructuralPartialEq for FpCategory
impl StructuralPartialEq for IntErrorKind
ferrocene_certified
only.impl StructuralPartialEq for GetDisjointMutError
ferrocene_certified
only.impl StructuralPartialEq for SearchStep
ferrocene_certified
only.impl StructuralPartialEq for core::sync::atomic::Ordering
impl StructuralPartialEq for bool
impl StructuralPartialEq for char
impl StructuralPartialEq for i8
impl StructuralPartialEq for i16
impl StructuralPartialEq for i32
impl StructuralPartialEq for i64
impl StructuralPartialEq for i128
impl StructuralPartialEq for isize
impl StructuralPartialEq for str
impl StructuralPartialEq for u8
impl StructuralPartialEq for u16
impl StructuralPartialEq for u32
impl StructuralPartialEq for u64
impl StructuralPartialEq for u128
impl StructuralPartialEq for ()
impl StructuralPartialEq for usize
impl StructuralPartialEq for AllocError
impl StructuralPartialEq for Layout
impl StructuralPartialEq for LayoutError
impl StructuralPartialEq for CpuidResult
impl StructuralPartialEq for CharTryFromError
ferrocene_certified
only.impl StructuralPartialEq for DecodeUtf16Error
ferrocene_certified
only.impl StructuralPartialEq for ParseCharError
ferrocene_certified
only.impl StructuralPartialEq for TryFromCharError
ferrocene_certified
only.impl StructuralPartialEq for CStr
ferrocene_certified
only.impl StructuralPartialEq for FromBytesUntilNulError
ferrocene_certified
only.impl StructuralPartialEq for Error
impl StructuralPartialEq for FormattingOptions
impl StructuralPartialEq for Assume
ferrocene_certified
only.impl StructuralPartialEq for AddrParseError
ferrocene_certified
only.impl StructuralPartialEq for Ipv4Addr
ferrocene_certified
only.impl StructuralPartialEq for Ipv6Addr
ferrocene_certified
only.impl StructuralPartialEq for SocketAddrV4
ferrocene_certified
only.impl StructuralPartialEq for SocketAddrV6
ferrocene_certified
only.impl StructuralPartialEq for ParseFloatError
ferrocene_certified
only.impl StructuralPartialEq for ParseIntError
ferrocene_certified
only.impl StructuralPartialEq for TryFromIntError
ferrocene_certified
only.impl StructuralPartialEq for RangeFull
impl StructuralPartialEq for core::ptr::Alignment
impl StructuralPartialEq for ParseBoolError
ferrocene_certified
only.impl StructuralPartialEq for Utf8Error
ferrocene_certified
only.impl StructuralPartialEq for RawWaker
ferrocene_certified
only.impl StructuralPartialEq for RawWakerVTable
ferrocene_certified
only.impl StructuralPartialEq for Duration
ferrocene_certified
only.impl StructuralPartialEq for TryFromFloatSecsError
ferrocene_certified
only.impl StructuralPartialEq for PhantomPinned
impl<'a> StructuralPartialEq for Utf8Pattern<'a>
ferrocene_certified
only.impl<'a> StructuralPartialEq for Utf8Chunk<'a>
ferrocene_certified
only.impl<'a> StructuralPartialEq for PhantomContravariantLifetime<'a>
ferrocene_certified
only.impl<'a> StructuralPartialEq for PhantomCovariantLifetime<'a>
ferrocene_certified
only.impl<'a> StructuralPartialEq for PhantomInvariantLifetime<'a>
ferrocene_certified
only.impl<B, C> StructuralPartialEq for ControlFlow<B, C>
impl<Idx> StructuralPartialEq for core::ops::Range<Idx>
impl<Idx> StructuralPartialEq for core::ops::RangeFrom<Idx>
impl<Idx> StructuralPartialEq for core::ops::RangeInclusive<Idx>
impl<Idx> StructuralPartialEq for RangeTo<Idx>
impl<Idx> StructuralPartialEq for core::ops::RangeToInclusive<Idx>
impl<Idx> StructuralPartialEq for core::range::Range<Idx>
ferrocene_certified
only.impl<Idx> StructuralPartialEq for core::range::RangeFrom<Idx>
ferrocene_certified
only.impl<Idx> StructuralPartialEq for core::range::RangeInclusive<Idx>
ferrocene_certified
only.impl<Idx> StructuralPartialEq for core::range::RangeToInclusive<Idx>
ferrocene_certified
only.impl<T> StructuralPartialEq for Bound<T>
impl<T> StructuralPartialEq for Option<T>
ferrocene_certified
only.impl<T> StructuralPartialEq for Poll<T>
ferrocene_certified
only.impl<T> StructuralPartialEq for [T]
impl<T> StructuralPartialEq for (T₁, T₂, …, Tₙ)
ferrocene_certified
only.This trait is implemented for tuples up to twelve items long.
impl<T> StructuralPartialEq for Reverse<T>
impl<T> StructuralPartialEq for NonZero<T>where
T: ZeroablePrimitive + StructuralPartialEq,
ferrocene_certified
only.impl<T> StructuralPartialEq for Saturating<T>
ferrocene_certified
only.impl<T> StructuralPartialEq for Wrapping<T>
ferrocene_certified
only.impl<T> StructuralPartialEq for Exclusive<T>
ferrocene_certified
only.impl<T, E> StructuralPartialEq for Result<T, E>
impl<T, const N: usize> StructuralPartialEq for [T; N]
impl<T: PointeeSized> StructuralPartialEq for &T
impl<T: PointeeSized> StructuralPartialEq for PhantomData<T>
ferrocene_certified
only.impl<T: ?Sized> StructuralPartialEq for ManuallyDrop<T>
ferrocene_certified
only.impl<Y, R> StructuralPartialEq for CoroutineState<Y, R>
ferrocene_certified
only.