Trait StructuralPartialEq

Source
pub trait StructuralPartialEq { }
๐Ÿ”ฌThis is a nightly-only experimental API. (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 equialent 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ยง

Sourceยง

impl StructuralPartialEq for AsciiChar

Sourceยง

impl StructuralPartialEq for CharErrorKind

1.0.0 ยท Sourceยง

impl StructuralPartialEq for core::cmp::Ordering

1.64.0 ยท Sourceยง

impl StructuralPartialEq for FromBytesWithNulError

1.28.0 ยท Sourceยง

impl StructuralPartialEq for core::fmt::Alignment

Sourceยง

impl StructuralPartialEq for DebugAsHex

Sourceยง

impl StructuralPartialEq for core::fmt::Sign

1.7.0 ยท Sourceยง

impl StructuralPartialEq for IpAddr

Sourceยง

impl StructuralPartialEq for Ipv6MulticastScope

Sourceยง

impl StructuralPartialEq for AddrKind

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SocketAddr

Sourceยง

impl StructuralPartialEq for FloatErrorKind

1.0.0 ยท Sourceยง

impl StructuralPartialEq for FpCategory

1.55.0 ยท Sourceยง

impl StructuralPartialEq for IntErrorKind

Sourceยง

impl StructuralPartialEq for FullDecoded

Sourceยง

impl StructuralPartialEq for core::num::flt2dec::Sign

Sourceยง

impl StructuralPartialEq for AlignmentEnum

1.86.0 ยท Sourceยง

impl StructuralPartialEq for GetDisjointMutError

Sourceยง

impl StructuralPartialEq for SearchStep

1.0.0 ยท Sourceยง

impl StructuralPartialEq for core::sync::atomic::Ordering

Sourceยง

impl StructuralPartialEq for TryFromFloatSecsErrorKind

Sourceยง

impl StructuralPartialEq for bool

Sourceยง

impl StructuralPartialEq for char

Sourceยง

impl StructuralPartialEq for i8

Sourceยง

impl StructuralPartialEq for i16

Sourceยง

impl StructuralPartialEq for i32

Sourceยง

impl StructuralPartialEq for i64

Sourceยง

impl StructuralPartialEq for i128

Sourceยง

impl StructuralPartialEq for isize

Sourceยง

impl StructuralPartialEq for str

Sourceยง

impl StructuralPartialEq for u8

Sourceยง

impl StructuralPartialEq for u16

Sourceยง

impl StructuralPartialEq for u32

Sourceยง

impl StructuralPartialEq for u64

Sourceยง

impl StructuralPartialEq for u128

Sourceยง

impl StructuralPartialEq for ()

Sourceยง

impl StructuralPartialEq for usize

1.28.0 ยท Sourceยง

impl StructuralPartialEq for Layout

1.50.0 ยท Sourceยง

impl StructuralPartialEq for LayoutError

Sourceยง

impl StructuralPartialEq for AllocError

1.34.0 ยท Sourceยง

impl StructuralPartialEq for CharTryFromError

1.20.0 ยท Sourceยง

impl StructuralPartialEq for ParseCharError

1.9.0 ยท Sourceยง

impl StructuralPartialEq for DecodeUtf16Error

1.59.0 ยท Sourceยง

impl StructuralPartialEq for TryFromCharError

1.27.0 ยท Sourceยง

impl StructuralPartialEq for CpuidResult

Available on x86 or x86-64 only.
1.64.0 ยท Sourceยง

impl StructuralPartialEq for CStr

1.69.0 ยท Sourceยง

impl StructuralPartialEq for FromBytesUntilNulError

Sourceยง

impl StructuralPartialEq for Binary

Sourceยง

impl StructuralPartialEq for LowerHex

Sourceยง

impl StructuralPartialEq for Octal

Sourceยง

impl StructuralPartialEq for UpperHex

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Error

Sourceยง

impl StructuralPartialEq for FormattingOptions

Sourceยง

impl StructuralPartialEq for Assume

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Ipv4Addr

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Ipv6Addr

1.0.0 ยท Sourceยง

impl StructuralPartialEq for AddrParseError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SocketAddrV4

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SocketAddrV6

Sourceยง

impl StructuralPartialEq for BiasedFp

Sourceยง

impl StructuralPartialEq for Decimal

Sourceยง

impl StructuralPartialEq for DecimalSeq

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ParseFloatError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ParseIntError

1.34.0 ยท Sourceยง

impl StructuralPartialEq for TryFromIntError

Sourceยง

impl StructuralPartialEq for Decoded

Sourceยง

impl StructuralPartialEq for I32NotAllOnes

Sourceยง

impl StructuralPartialEq for I64NotAllOnes

Sourceยง

impl StructuralPartialEq for Nanoseconds

Sourceยง

impl StructuralPartialEq for NonZeroI8Inner

Sourceยง

impl StructuralPartialEq for NonZeroI16Inner

Sourceยง

impl StructuralPartialEq for NonZeroI32Inner

Sourceยง

impl StructuralPartialEq for NonZeroI64Inner

Sourceยง

impl StructuralPartialEq for NonZeroI128Inner

Sourceยง

impl StructuralPartialEq for NonZeroIsizeInner

Sourceยง

impl StructuralPartialEq for NonZeroU8Inner

Sourceยง

impl StructuralPartialEq for NonZeroU16Inner

Sourceยง

impl StructuralPartialEq for NonZeroU32Inner

Sourceยง

impl StructuralPartialEq for NonZeroU64Inner

Sourceยง

impl StructuralPartialEq for NonZeroU128Inner

Sourceยง

impl StructuralPartialEq for NonZeroUsizeInner

Sourceยง

impl StructuralPartialEq for U32NotAllOnes

Sourceยง

impl StructuralPartialEq for U64NotAllOnes

Sourceยง

impl StructuralPartialEq for UsizeNoHighBit

Sourceยง

impl StructuralPartialEq for IndexRange

Sourceยง

impl StructuralPartialEq for core::ptr::alignment::Alignment

1.0.0 ยท Sourceยง

impl StructuralPartialEq for RangeFull

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ParseBoolError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Utf8Error

1.36.0 ยท Sourceยง

impl StructuralPartialEq for RawWaker

1.36.0 ยท Sourceยง

impl StructuralPartialEq for RawWakerVTable

1.3.0 ยท Sourceยง

impl StructuralPartialEq for Duration

1.66.0 ยท Sourceยง

impl StructuralPartialEq for TryFromFloatSecsError

1.33.0 ยท Sourceยง

impl StructuralPartialEq for PhantomPinned

Sourceยง

impl<'a> StructuralPartialEq for Part<'a>

Sourceยง

impl<'a> StructuralPartialEq for Utf8Pattern<'a>

1.10.0 ยท Sourceยง

impl<'a> StructuralPartialEq for Location<'a>

1.79.0 ยท Sourceยง

impl<'a> StructuralPartialEq for Utf8Chunk<'a>

Sourceยง

impl<'a> StructuralPartialEq for PhantomContravariantLifetime<'a>

Sourceยง

impl<'a> StructuralPartialEq for PhantomCovariantLifetime<'a>

Sourceยง

impl<'a> StructuralPartialEq for PhantomInvariantLifetime<'a>

Sourceยง

impl<A, Z, Y, X, W, V, U, T> StructuralPartialEq for (A, Z, Y, X, W, V, U, T)

Sourceยง

impl<B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for (B, A, Z, Y, X, W, V, U, T)

1.55.0 ยท Sourceยง

impl<B, C> StructuralPartialEq for ControlFlow<B, C>

Sourceยง

impl<C, B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for (C, B, A, Z, Y, X, W, V, U, T)

Sourceยง

impl<D, C, B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for (D, C, B, A, Z, Y, X, W, V, U, T)

Sourceยง

impl<E, D, C, B, A, Z, Y, X, W, V, U, T> StructuralPartialEq for (E, D, C, B, A, Z, Y, X, W, V, U, T)

1.0.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for core::ops::range::Range<Idx>

1.0.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for core::ops::range::RangeFrom<Idx>

1.26.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for core::ops::range::RangeInclusive<Idx>

Sourceยง

impl<Idx> StructuralPartialEq for core::range::Range<Idx>

Sourceยง

impl<Idx> StructuralPartialEq for core::range::RangeFrom<Idx>

Sourceยง

impl<Idx> StructuralPartialEq for core::range::RangeInclusive<Idx>

1.0.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for RangeTo<Idx>

1.26.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for RangeToInclusive<Idx>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for Option<T>

1.17.0 ยท Sourceยง

impl<T> StructuralPartialEq for Bound<T>

1.36.0 ยท Sourceยง

impl<T> StructuralPartialEq for Poll<T>

Sourceยง

impl<T> StructuralPartialEq for [T]

Sourceยง

impl<T> StructuralPartialEq for (Tโ‚, Tโ‚‚, โ€ฆ, Tโ‚™)

This trait is implemented for tuples up to twelve items long.

1.19.0 ยท Sourceยง

impl<T> StructuralPartialEq for Reverse<T>

Sourceยง

impl<T> StructuralPartialEq for NonZero<T>

1.74.0 ยท Sourceยง

impl<T> StructuralPartialEq for Saturating<T>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for Wrapping<T>

1.0.0 ยท Sourceยง

impl<T, E> StructuralPartialEq for Result<T, E>

Sourceยง

impl<T, const N: usize> StructuralPartialEq for [T; N]

Sourceยง

impl<T: ?Sized> StructuralPartialEq for &T

1.20.0 ยท Sourceยง

impl<T: ?Sized> StructuralPartialEq for ManuallyDrop<T>

Sourceยง

impl<T: ?Sized> StructuralPartialEq for PhantomData<T>

Sourceยง

impl<U, T> StructuralPartialEq for (U, T)

Sourceยง

impl<V, U, T> StructuralPartialEq for (V, U, T)

Sourceยง

impl<W, V, U, T> StructuralPartialEq for (W, V, U, T)

Sourceยง

impl<X, W, V, U, T> StructuralPartialEq for (X, W, V, U, T)

Sourceยง

impl<Y, R> StructuralPartialEq for CoroutineState<Y, R>

Sourceยง

impl<Y, X, W, V, U, T> StructuralPartialEq for (Y, X, W, V, U, T)

Sourceยง

impl<Z, Y, X, W, V, U, T> StructuralPartialEq for (Z, Y, X, W, V, U, T)