pub trait StructuralPartialEq { }
structural_match
)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ยง
impl StructuralPartialEq for AhoCorasickKind
impl StructuralPartialEq for aho_corasick::packed::api::MatchKind
impl StructuralPartialEq for aho_corasick::util::error::MatchErrorKind
impl StructuralPartialEq for aho_corasick::util::search::Anchored
impl StructuralPartialEq for aho_corasick::util::search::MatchKind
impl StructuralPartialEq for StartKind
impl StructuralPartialEq for crossbeam_channel::err::RecvTimeoutError
impl StructuralPartialEq for crossbeam_channel::err::TryRecvError
impl StructuralPartialEq for BernoulliError
impl StructuralPartialEq for rand::distr::uniform::Error
impl StructuralPartialEq for rand::distr::weighted::Error
impl StructuralPartialEq for regex::error::Error
impl StructuralPartialEq for State
impl StructuralPartialEq for regex_automata::util::look::Look
impl StructuralPartialEq for regex_automata::util::search::Anchored
impl StructuralPartialEq for regex_automata::util::search::MatchErrorKind
impl StructuralPartialEq for regex_automata::util::search::MatchKind
impl StructuralPartialEq for AssertionKind
impl StructuralPartialEq for Ast
impl StructuralPartialEq for ClassAsciiKind
impl StructuralPartialEq for ClassPerlKind
impl StructuralPartialEq for ClassSet
impl StructuralPartialEq for ClassSetBinaryOpKind
impl StructuralPartialEq for ClassSetItem
impl StructuralPartialEq for ClassUnicodeKind
impl StructuralPartialEq for ClassUnicodeOpKind
impl StructuralPartialEq for regex_syntax::ast::ErrorKind
impl StructuralPartialEq for Flag
impl StructuralPartialEq for FlagsItemKind
impl StructuralPartialEq for GroupKind
impl StructuralPartialEq for HexLiteralKind
impl StructuralPartialEq for LiteralKind
impl StructuralPartialEq for RepetitionKind
impl StructuralPartialEq for RepetitionRange
impl StructuralPartialEq for SpecialLiteralKind
impl StructuralPartialEq for regex_syntax::error::Error
impl StructuralPartialEq for Class
impl StructuralPartialEq for Dot
impl StructuralPartialEq for regex_syntax::hir::ErrorKind
impl StructuralPartialEq for HirKind
impl StructuralPartialEq for regex_syntax::hir::Look
impl StructuralPartialEq for Utf8Sequence
impl StructuralPartialEq for zerocopy::byteorder::BigEndian
impl StructuralPartialEq for zerocopy::byteorder::LittleEndian
impl StructuralPartialEq for AsciiChar
impl StructuralPartialEq for BacktraceStatus
impl StructuralPartialEq for cs431_homework::test::loom::cmp::Ordering
impl StructuralPartialEq for TryReserveErrorKind
impl StructuralPartialEq for VarError
impl StructuralPartialEq for FromBytesWithNulError
impl StructuralPartialEq for cs431_homework::test::loom::fmt::Alignment
impl StructuralPartialEq for DebugAsHex
impl StructuralPartialEq for Sign
impl StructuralPartialEq for cs431_homework::test::loom::io::ErrorKind
impl StructuralPartialEq for SeekFrom
impl StructuralPartialEq for IpAddr
impl StructuralPartialEq for Ipv6MulticastScope
impl StructuralPartialEq for Shutdown
impl StructuralPartialEq for SocketAddr
impl StructuralPartialEq for FpCategory
impl StructuralPartialEq for IntErrorKind
impl StructuralPartialEq for BacktraceStyle
impl StructuralPartialEq for GetDisjointMutError
impl StructuralPartialEq for SearchStep
impl StructuralPartialEq for cs431_homework::test::loom::sync::atomic::Ordering
impl StructuralPartialEq for cs431_homework::test::loom::sync::mpmc::RecvTimeoutError
impl StructuralPartialEq for cs431_homework::test::loom::sync::mpmc::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
impl StructuralPartialEq for aho_corasick::util::error::MatchError
impl StructuralPartialEq for aho_corasick::util::primitives::PatternID
impl StructuralPartialEq for aho_corasick::util::primitives::PatternIDError
impl StructuralPartialEq for aho_corasick::util::primitives::StateID
impl StructuralPartialEq for aho_corasick::util::primitives::StateIDError
impl StructuralPartialEq for aho_corasick::util::search::Match
impl StructuralPartialEq for aho_corasick::util::search::Span
impl StructuralPartialEq for ReadyTimeoutError
impl StructuralPartialEq for crossbeam_channel::err::RecvError
impl StructuralPartialEq for SelectTimeoutError
impl StructuralPartialEq for TryReadyError
impl StructuralPartialEq for TrySelectError
impl StructuralPartialEq for getrandom::error::Error
impl StructuralPartialEq for Bernoulli
impl StructuralPartialEq for UniformUsize
impl StructuralPartialEq for UniformChar
impl StructuralPartialEq for UniformDuration
impl StructuralPartialEq for StepRng
impl StructuralPartialEq for SmallRng
impl StructuralPartialEq for StdRng
impl StructuralPartialEq for ChaCha8Core
impl StructuralPartialEq for ChaCha12Core
impl StructuralPartialEq for ChaCha20Core
impl StructuralPartialEq for OsError
impl StructuralPartialEq for OverlappingState
impl StructuralPartialEq for LazyStateID
impl StructuralPartialEq for DenseTransitions
impl StructuralPartialEq for SparseTransitions
impl StructuralPartialEq for Transition
impl StructuralPartialEq for Unit
impl StructuralPartialEq for regex_automata::util::look::LookSet
impl StructuralPartialEq for NonMaxUsize
impl StructuralPartialEq for regex_automata::util::primitives::PatternID
impl StructuralPartialEq for regex_automata::util::primitives::PatternIDError
impl StructuralPartialEq for SmallIndex
impl StructuralPartialEq for SmallIndexError
impl StructuralPartialEq for regex_automata::util::primitives::StateID
impl StructuralPartialEq for regex_automata::util::primitives::StateIDError
impl StructuralPartialEq for HalfMatch
impl StructuralPartialEq for regex_automata::util::search::Match
impl StructuralPartialEq for regex_automata::util::search::MatchError
impl StructuralPartialEq for PatternSet
impl StructuralPartialEq for regex_automata::util::search::Span
impl StructuralPartialEq for Alternation
impl StructuralPartialEq for Assertion
impl StructuralPartialEq for CaptureName
impl StructuralPartialEq for ClassAscii
impl StructuralPartialEq for ClassBracketed
impl StructuralPartialEq for ClassPerl
impl StructuralPartialEq for ClassSetBinaryOp
impl StructuralPartialEq for ClassSetRange
impl StructuralPartialEq for ClassSetUnion
impl StructuralPartialEq for regex_syntax::ast::ClassUnicode
impl StructuralPartialEq for Comment
impl StructuralPartialEq for Concat
impl StructuralPartialEq for regex_syntax::ast::Error
impl StructuralPartialEq for Flags
impl StructuralPartialEq for FlagsItem
impl StructuralPartialEq for Group
impl StructuralPartialEq for regex_syntax::ast::Literal
impl StructuralPartialEq for Position
impl StructuralPartialEq for regex_syntax::ast::Repetition
impl StructuralPartialEq for RepetitionOp
impl StructuralPartialEq for SetFlags
impl StructuralPartialEq for regex_syntax::ast::Span
impl StructuralPartialEq for WithComments
impl StructuralPartialEq for regex_syntax::hir::literal::Literal
impl StructuralPartialEq for Seq
impl StructuralPartialEq for Capture
impl StructuralPartialEq for ClassBytes
impl StructuralPartialEq for ClassBytesRange
impl StructuralPartialEq for regex_syntax::hir::ClassUnicode
impl StructuralPartialEq for ClassUnicodeRange
impl StructuralPartialEq for regex_syntax::hir::Error
impl StructuralPartialEq for Hir
impl StructuralPartialEq for regex_syntax::hir::Literal
impl StructuralPartialEq for regex_syntax::hir::LookSet
impl StructuralPartialEq for Properties
impl StructuralPartialEq for regex_syntax::hir::Repetition
impl StructuralPartialEq for Utf8Range
impl StructuralPartialEq for zerocopy::error::AllocError
impl StructuralPartialEq for cs431_homework::test::loom::alloc::AllocError
impl StructuralPartialEq for Layout
impl StructuralPartialEq for LayoutError
impl StructuralPartialEq for CpuidResult
impl StructuralPartialEq for CharTryFromError
impl StructuralPartialEq for DecodeUtf16Error
impl StructuralPartialEq for ParseCharError
impl StructuralPartialEq for TryFromCharError
impl StructuralPartialEq for UnorderedKeyError
impl StructuralPartialEq for TryReserveError
impl StructuralPartialEq for CStr
impl StructuralPartialEq for CString
impl StructuralPartialEq for FromBytesUntilNulError
impl StructuralPartialEq for FromVecWithNulError
impl StructuralPartialEq for IntoStringError
impl StructuralPartialEq for NulError
impl StructuralPartialEq for cs431_homework::test::loom::fmt::Error
impl StructuralPartialEq for FormattingOptions
impl StructuralPartialEq for FileType
impl StructuralPartialEq for Permissions
impl StructuralPartialEq for Assume
impl StructuralPartialEq for AddrParseError
impl StructuralPartialEq for Ipv4Addr
impl StructuralPartialEq for Ipv6Addr
impl StructuralPartialEq for SocketAddrV4
impl StructuralPartialEq for SocketAddrV6
impl StructuralPartialEq for ParseFloatError
impl StructuralPartialEq for ParseIntError
impl StructuralPartialEq for TryFromIntError
impl StructuralPartialEq for RangeFull
impl StructuralPartialEq for UCred
impl StructuralPartialEq for StripPrefixError
impl StructuralPartialEq for ExitCode
impl StructuralPartialEq for ExitStatus
impl StructuralPartialEq for ExitStatusError
impl StructuralPartialEq for Output
impl StructuralPartialEq for cs431_homework::test::loom::ptr::Alignment
impl StructuralPartialEq for ParseBoolError
impl StructuralPartialEq for Utf8Error
impl StructuralPartialEq for FromUtf8Error
impl StructuralPartialEq for String
impl StructuralPartialEq for cs431_homework::test::loom::sync::mpmc::RecvError
impl StructuralPartialEq for WaitTimeoutResult
impl StructuralPartialEq for RawWaker
impl StructuralPartialEq for RawWakerVTable
impl StructuralPartialEq for AccessError
impl StructuralPartialEq for ThreadId
impl StructuralPartialEq for Duration
impl StructuralPartialEq for Instant
impl StructuralPartialEq for SystemTime
impl StructuralPartialEq for TryFromFloatSecsError
impl StructuralPartialEq for PhantomPinned
impl StructuralPartialEq for BigEndian
impl StructuralPartialEq for LittleEndian
impl<'a> StructuralPartialEq for Component<'a>
impl<'a> StructuralPartialEq for Prefix<'a>
impl<'a> StructuralPartialEq for Utf8Pattern<'a>
impl<'a> StructuralPartialEq for Location<'a>
impl<'a> StructuralPartialEq for Utf8Chunk<'a>
impl<'a> StructuralPartialEq for PhantomContravariantLifetime<'a>
impl<'a> StructuralPartialEq for PhantomCovariantLifetime<'a>
impl<'a> StructuralPartialEq for PhantomInvariantLifetime<'a>
impl<'h> StructuralPartialEq for regex::regex::bytes::Match<'h>
impl<'h> StructuralPartialEq for regex::regex::string::Match<'h>
impl<'r, R> StructuralPartialEq for UnwrapMut<'r, R>where
R: TryRngCore + ?Sized,
impl<A, S, V> StructuralPartialEq for ConvertError<A, S, V>
impl<B, C> StructuralPartialEq for ControlFlow<B, C>
impl<Idx> StructuralPartialEq for cs431_homework::test::loom::ops::Range<Idx>
impl<Idx> StructuralPartialEq for cs431_homework::test::loom::ops::RangeFrom<Idx>
impl<Idx> StructuralPartialEq for cs431_homework::test::loom::ops::RangeInclusive<Idx>
impl<Idx> StructuralPartialEq for RangeTo<Idx>
impl<Idx> StructuralPartialEq for RangeToInclusive<Idx>
impl<Idx> StructuralPartialEq for cs431_homework::test::loom::range::Range<Idx>
impl<Idx> StructuralPartialEq for cs431_homework::test::loom::range::RangeFrom<Idx>
impl<Idx> StructuralPartialEq for cs431_homework::test::loom::range::RangeInclusive<Idx>
impl<O> StructuralPartialEq for zerocopy::byteorder::F32<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::F32<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::F64<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::F64<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I16<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I16<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I32<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I32<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I64<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I64<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I128<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::I128<O>
impl<O> StructuralPartialEq for Isize<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U16<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U16<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U32<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U32<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U64<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U64<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U128<O>
impl<O> StructuralPartialEq for zerocopy::byteorder::U128<O>
impl<O> StructuralPartialEq for Usize<O>
impl<R> StructuralPartialEq for UnwrapErr<R>where
R: TryRngCore,
impl<Src, Dst> StructuralPartialEq for AlignmentError<Src, Dst>where
Dst: ?Sized,
impl<Src, Dst> StructuralPartialEq for SizeError<Src, Dst>where
Dst: ?Sized,
impl<Src, Dst> StructuralPartialEq for ValidityError<Src, Dst>where
Dst: TryFromBytes + ?Sized,
impl<T> StructuralPartialEq for crossbeam_channel::err::SendTimeoutError<T>
impl<T> StructuralPartialEq for crossbeam_channel::err::TrySendError<T>
impl<T> StructuralPartialEq for Bound<T>
impl<T> StructuralPartialEq for Option<T>
impl<T> StructuralPartialEq for cs431_homework::test::loom::sync::mpmc::SendTimeoutError<T>
impl<T> StructuralPartialEq for cs431_homework::test::loom::sync::mpmc::TrySendError<T>
impl<T> StructuralPartialEq for Poll<T>
impl<T> StructuralPartialEq for &Twhere
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.