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 FullDecoded

Sourceยง

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

Sourceยง

impl StructuralPartialEq for AsciiChar

1.65.0 ยท Sourceยง

impl StructuralPartialEq for BacktraceStatus

Sourceยง

impl StructuralPartialEq for PrintFmt

1.0.0 ยท Sourceยง

impl StructuralPartialEq for std::cmp::Ordering

Sourceยง

impl StructuralPartialEq for TryReserveErrorKind

1.0.0 ยท Sourceยง

impl StructuralPartialEq for VarError

1.64.0 ยท Sourceยง

impl StructuralPartialEq for FromBytesWithNulError

1.28.0 ยท Sourceยง

impl StructuralPartialEq for std::fmt::Alignment

Sourceยง

impl StructuralPartialEq for DebugAsHex

Sourceยง

impl StructuralPartialEq for std::fmt::Sign

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SeekFrom

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ErrorKind

1.7.0 ยท Sourceยง

impl StructuralPartialEq for IpAddr

Sourceยง

impl StructuralPartialEq for Ipv6MulticastScope

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Shutdown

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SocketAddr

1.0.0 ยท Sourceยง

impl StructuralPartialEq for FpCategory

1.55.0 ยท Sourceยง

impl StructuralPartialEq for IntErrorKind

Sourceยง

impl StructuralPartialEq for BacktraceStyle

Sourceยง

impl StructuralPartialEq for State

1.86.0 ยท Sourceยง

impl StructuralPartialEq for GetDisjointMutError

Sourceยง

impl StructuralPartialEq for SearchStep

1.0.0 ยท Sourceยง

impl StructuralPartialEq for std::sync::atomic::Ordering

Sourceยง

impl StructuralPartialEq for Selected

1.12.0 ยท Sourceยง

impl StructuralPartialEq for RecvTimeoutError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for TryRecvError

Sourceยง

impl StructuralPartialEq for FdHandle

Sourceยง

impl StructuralPartialEq for SpliceMode

Sourceยง

impl StructuralPartialEq for Cgroup

Sourceยง

impl StructuralPartialEq for ProgramKind

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.27.0 ยท Sourceยง

impl StructuralPartialEq for CpuidResult

Sourceยง

impl StructuralPartialEq for Decimal

Sourceยง

impl StructuralPartialEq for DecimalSeq

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 AllocError

1.28.0 ยท Sourceยง

impl StructuralPartialEq for Layout

1.50.0 ยท Sourceยง

impl StructuralPartialEq for LayoutError

1.34.0 ยท Sourceยง

impl StructuralPartialEq for CharTryFromError

1.9.0 ยท Sourceยง

impl StructuralPartialEq for DecodeUtf16Error

1.20.0 ยท Sourceยง

impl StructuralPartialEq for ParseCharError

1.59.0 ยท Sourceยง

impl StructuralPartialEq for TryFromCharError

Sourceยง

impl StructuralPartialEq for UnorderedKeyError

1.57.0 ยท Sourceยง

impl StructuralPartialEq for TryReserveError

1.64.0 ยท Sourceยง

impl StructuralPartialEq for CStr

1.64.0 ยท Sourceยง

impl StructuralPartialEq for CString

1.69.0 ยท Sourceยง

impl StructuralPartialEq for FromBytesUntilNulError

1.64.0 ยท Sourceยง

impl StructuralPartialEq for FromVecWithNulError

1.64.0 ยท Sourceยง

impl StructuralPartialEq for IntoStringError

1.64.0 ยท Sourceยง

impl StructuralPartialEq for NulError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Error

Sourceยง

impl StructuralPartialEq for FormattingOptions

1.1.0 ยท Sourceยง

impl StructuralPartialEq for FileType

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Permissions

Sourceยง

impl StructuralPartialEq for Assume

1.0.0 ยท Sourceยง

impl StructuralPartialEq for AddrParseError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Ipv4Addr

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Ipv6Addr

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SocketAddrV4

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SocketAddrV6

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ParseFloatError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ParseIntError

1.34.0 ยท Sourceยง

impl StructuralPartialEq for TryFromIntError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for RangeFull

Sourceยง

impl StructuralPartialEq for UCred

Available on Unix only.
1.63.0 ยท Sourceยง

impl StructuralPartialEq for InvalidHandleError

Available on Windows only.
1.63.0 ยท Sourceยง

impl StructuralPartialEq for NullHandleError

Available on Windows only.
1.7.0 ยท Sourceยง

impl StructuralPartialEq for StripPrefixError

1.61.0 ยท Sourceยง

impl StructuralPartialEq for std::process::ExitCode

1.0.0 ยท Sourceยง

impl StructuralPartialEq for std::process::ExitStatus

Sourceยง

impl StructuralPartialEq for std::process::ExitStatusError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Output

Sourceยง

impl StructuralPartialEq for std::ptr::Alignment

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ParseBoolError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Utf8Error

1.0.0 ยท Sourceยง

impl StructuralPartialEq for FromUtf8Error

1.0.0 ยท Sourceยง

impl StructuralPartialEq for String

Sourceยง

impl StructuralPartialEq for Operation

1.0.0 ยท Sourceยง

impl StructuralPartialEq for RecvError

1.5.0 ยท Sourceยง

impl StructuralPartialEq for WaitTimeoutResult

Sourceยง

impl StructuralPartialEq for FilePermissions

Sourceยง

impl StructuralPartialEq for std::sys::pal::unix::time::Instant

Sourceยง

impl StructuralPartialEq for std::sys::pal::unix::time::SystemTime

Sourceยง

impl StructuralPartialEq for Timespec

Sourceยง

impl StructuralPartialEq for std::sys::process::unix::common::ExitCode

Sourceยง

impl StructuralPartialEq for std::sys::process::unix::unix::ExitStatus

Sourceยง

impl StructuralPartialEq for std::sys::process::unix::unix::ExitStatusError

Sourceยง

impl StructuralPartialEq for CodePoint

Sourceยง

impl StructuralPartialEq for Wtf8

Sourceยง

impl StructuralPartialEq for Wtf8Buf

1.36.0 ยท Sourceยง

impl StructuralPartialEq for RawWaker

1.36.0 ยท Sourceยง

impl StructuralPartialEq for RawWakerVTable

1.26.0 ยท Sourceยง

impl StructuralPartialEq for AccessError

1.19.0 ยท Sourceยง

impl StructuralPartialEq for ThreadId

1.3.0 ยท Sourceยง

impl StructuralPartialEq for Duration

1.8.0 ยท Sourceยง

impl StructuralPartialEq for std::time::Instant

1.8.0 ยท Sourceยง

impl StructuralPartialEq for std::time::SystemTime

1.66.0 ยท Sourceยง

impl StructuralPartialEq for TryFromFloatSecsError

1.33.0 ยท Sourceยง

impl StructuralPartialEq for PhantomPinned

Sourceยง

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

1.0.0 ยท Sourceยง

impl<'a> StructuralPartialEq for Component<'a>

1.0.0 ยท Sourceยง

impl<'a> StructuralPartialEq for Prefix<'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 std::ops::Range<Idx>

1.0.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for std::ops::RangeFrom<Idx>

1.26.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for std::ops::RangeInclusive<Idx>

1.0.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for RangeTo<Idx>

1.26.0 ยท Sourceยง

impl<Idx> StructuralPartialEq for RangeToInclusive<Idx>

Sourceยง

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

Sourceยง

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

Sourceยง

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

1.17.0 ยท Sourceยง

impl<T> StructuralPartialEq for Bound<T>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for Option<T>

Sourceยง

impl<T> StructuralPartialEq for SendTimeoutError<T>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for TrySendError<T>

1.36.0 ยท Sourceยง

impl<T> StructuralPartialEq for Poll<T>

Sourceยง

impl<T> StructuralPartialEq for &T
where T: ?Sized,

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>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for Cursor<T>

1.20.0 ยท Sourceยง

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

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>

Sourceยง

impl<T> StructuralPartialEq for CachePadded<T>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for SendError<T>

Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

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

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)