StructuralPartialEq

Trait StructuralPartialEq 

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 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

1.65.0 ยท Sourceยง

impl StructuralPartialEq for BacktraceStatus

1.0.0ยง

impl StructuralPartialEq for std::cmp::Ordering

ยง

impl StructuralPartialEq for TryReserveErrorKind

1.0.0 ยท Sourceยง

impl StructuralPartialEq for VarError

1.64.0ยง

impl StructuralPartialEq for FromBytesWithNulError

1.28.0ยง

impl StructuralPartialEq for std::fmt::Alignment

ยง

impl StructuralPartialEq for DebugAsHex

ยง

impl StructuralPartialEq for Sign

ยง

impl StructuralPartialEq for Locality

ยง

impl StructuralPartialEq for AtomicOrdering

ยง

impl StructuralPartialEq for SimdAlign

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ErrorKind

1.0.0 ยท Sourceยง

impl StructuralPartialEq for SeekFrom

1.7.0ยง

impl StructuralPartialEq for IpAddr

ยง

impl StructuralPartialEq for Ipv6MulticastScope

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Shutdown

1.0.0ยง

impl StructuralPartialEq for SocketAddr

1.0.0ยง

impl StructuralPartialEq for FpCategory

1.55.0ยง

impl StructuralPartialEq for IntErrorKind

Sourceยง

impl StructuralPartialEq for BacktraceStyle

1.86.0ยง

impl StructuralPartialEq for GetDisjointMutError

ยง

impl StructuralPartialEq for SearchStep

1.0.0ยง

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

1.12.0 ยท Sourceยง

impl StructuralPartialEq for RecvTimeoutError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for TryRecvError

ยง

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

1.27.0ยง

impl StructuralPartialEq for CpuidResult

ยง

impl StructuralPartialEq for AllocError

1.28.0ยง

impl StructuralPartialEq for Layout

1.50.0ยง

impl StructuralPartialEq for LayoutError

1.34.0ยง

impl StructuralPartialEq for CharTryFromError

1.9.0ยง

impl StructuralPartialEq for DecodeUtf16Error

1.20.0ยง

impl StructuralPartialEq for ParseCharError

1.59.0ยง

impl StructuralPartialEq for TryFromCharError

ยง

impl StructuralPartialEq for UnorderedKeyError

1.57.0ยง

impl StructuralPartialEq for TryReserveError

1.64.0ยง

impl StructuralPartialEq for CStr

1.64.0ยง

impl StructuralPartialEq for CString

1.69.0ยง

impl StructuralPartialEq for FromBytesUntilNulError

1.64.0ยง

impl StructuralPartialEq for FromVecWithNulError

1.64.0ยง

impl StructuralPartialEq for IntoStringError

1.64.0ยง

impl StructuralPartialEq for NulError

1.0.0ยง

impl StructuralPartialEq for Error

ยง

impl StructuralPartialEq for FormattingOptions

1.1.0 ยท Sourceยง

impl StructuralPartialEq for FileType

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Permissions

ยง

impl StructuralPartialEq for Assume

1.0.0ยง

impl StructuralPartialEq for AddrParseError

1.0.0ยง

impl StructuralPartialEq for Ipv4Addr

1.0.0ยง

impl StructuralPartialEq for Ipv6Addr

1.0.0ยง

impl StructuralPartialEq for SocketAddrV4

1.0.0ยง

impl StructuralPartialEq for SocketAddrV6

1.0.0ยง

impl StructuralPartialEq for ParseFloatError

1.0.0ยง

impl StructuralPartialEq for ParseIntError

1.34.0ยง

impl StructuralPartialEq for TryFromIntError

1.0.0ยง

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

impl StructuralPartialEq for NormalizeError

1.7.0 ยท Sourceยง

impl StructuralPartialEq for StripPrefixError

1.61.0 ยท Sourceยง

impl StructuralPartialEq for ExitCode

1.0.0 ยท Sourceยง

impl StructuralPartialEq for ExitStatus

Sourceยง

impl StructuralPartialEq for ExitStatusError

1.0.0 ยท Sourceยง

impl StructuralPartialEq for Output

ยง

impl StructuralPartialEq for std::ptr::Alignment

1.0.0ยง

impl StructuralPartialEq for ParseBoolError

1.0.0ยง

impl StructuralPartialEq for Utf8Error

1.0.0ยง

impl StructuralPartialEq for FromUtf8Error

1.0.0ยง

impl StructuralPartialEq for String

1.0.0 ยท Sourceยง

impl StructuralPartialEq for RecvError

1.5.0 ยท Sourceยง

impl StructuralPartialEq for WaitTimeoutResult

1.36.0ยง

impl StructuralPartialEq for RawWaker

1.36.0ยง

impl StructuralPartialEq for RawWakerVTable

1.26.0 ยท Sourceยง

impl StructuralPartialEq for AccessError

1.19.0 ยท Sourceยง

impl StructuralPartialEq for ThreadId

1.3.0ยง

impl StructuralPartialEq for Duration

1.8.0 ยท Sourceยง

impl StructuralPartialEq for Instant

1.8.0 ยท Sourceยง

impl StructuralPartialEq for SystemTime

1.66.0ยง

impl StructuralPartialEq for TryFromFloatSecsError

1.33.0ยง

impl StructuralPartialEq for PhantomPinned

1.0.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

impl<'a> StructuralPartialEq for Prefix<'a>

ยง

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

1.79.0ยง

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

ยง

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

ยง

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

ยง

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

1.55.0ยง

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

1.0.0ยง

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

1.0.0ยง

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

1.26.0ยง

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

1.0.0ยง

impl<Idx> StructuralPartialEq for RangeTo<Idx>

1.26.0ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

1.17.0ยง

impl<T> StructuralPartialEq for Bound<T>

1.0.0ยง

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ยง

impl<T> StructuralPartialEq for Poll<T>

ยง

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

ยง

impl<T> StructuralPartialEq for [T]

ยง

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

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

1.19.0ยง

impl<T> StructuralPartialEq for Reverse<T>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for Cursor<T>

1.20.0ยง

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

ยง

impl<T> StructuralPartialEq for NonZero<T>

1.74.0ยง

impl<T> StructuralPartialEq for Saturating<T>

1.0.0ยง

impl<T> StructuralPartialEq for Wrapping<T>

1.0.0 ยท Sourceยง

impl<T> StructuralPartialEq for SendError<T>

ยง

impl<T> StructuralPartialEq for Exclusive<T>

ยง

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

1.0.0ยง

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

ยง

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

ยง

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