pub trait StructuralPartialEq { }
🔬This is a nightly-only experimental API. (structural_match)
Expand description

Required trait for constants used in pattern matches.

Any type that derives PartialEq automatically implements this trait, regardless of whether its type-parameters implement Eq.

If a const item contains some type that does not implement this trait, then that type either (1.) does not implement PartialEq (which means the constant will not provide that comparison method, which code generation assumes is available), or (2.) it implements its own version of PartialEq (which we assume does not conform to a structural-equality comparison).

In either of the two scenarios above, we reject usage of such a constant in a pattern match.

See also the structural match RFC, and issue 63438 which motivated migrating from attribute-based design to this trait.

Implementors§

source§

impl StructuralPartialEq for AsciiChar

1.0.0 · source§

impl StructuralPartialEq for origin_studio::cmp::Ordering

source§

impl StructuralPartialEq for TryReserveErrorKind

source§

impl StructuralPartialEq for VarError

1.28.0 · source§

impl StructuralPartialEq for origin_studio::fmt::Alignment

source§

impl StructuralPartialEq for origin_studio::io::SeekFrom

1.7.0 · source§

impl StructuralPartialEq for IpAddr

source§

impl StructuralPartialEq for Ipv6MulticastScope

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 Which

source§

impl StructuralPartialEq for SearchStep

1.0.0 · source§

impl StructuralPartialEq for origin_studio::sync::atomic::Ordering

source§

impl StructuralPartialEq for rustix::backend::fs::types::Advice

source§

impl StructuralPartialEq for FileType

source§

impl StructuralPartialEq for FlockOperation

source§

impl StructuralPartialEq for rustix::backend::mm::types::Advice

source§

impl StructuralPartialEq for MembarrierCommand

source§

impl StructuralPartialEq for Resource

source§

impl StructuralPartialEq for FutexOperation

source§

impl StructuralPartialEq for TimerfdClockId

source§

impl StructuralPartialEq for ClockId

source§

impl StructuralPartialEq for rustix::fs::seek_from::SeekFrom

source§

impl StructuralPartialEq for Direction

source§

impl StructuralPartialEq for DumpableBehavior

source§

impl StructuralPartialEq for EndianMode

source§

impl StructuralPartialEq for FloatingPointMode

source§

impl StructuralPartialEq for MachineCheckMemoryCorruptionKillPolicy

source§

impl StructuralPartialEq for PTracer

source§

impl StructuralPartialEq for SpeculationFeature

source§

impl StructuralPartialEq for TimeStampCounterReadability

source§

impl StructuralPartialEq for TimingMethod

source§

impl StructuralPartialEq for VirtualMemoryMapAddress

source§

impl StructuralPartialEq for Signal

source§

impl StructuralPartialEq for Capability

source§

impl StructuralPartialEq for CoreSchedulingScope

source§

impl StructuralPartialEq for SecureComputingMode

source§

impl StructuralPartialEq for SysCallUserDispatchFastSwitch

source§

impl StructuralPartialEq for LinkNameSpaceType

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

source§

impl StructuralPartialEq for AllocError

1.28.0 · source§

impl StructuralPartialEq for Layout

1.50.0 · source§

impl StructuralPartialEq for LayoutError

1.27.0 · source§

impl StructuralPartialEq for CpuidResult

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

1.57.0 · source§

impl StructuralPartialEq for TryReserveError

1.64.0 · source§

impl StructuralPartialEq for CString

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 origin_studio::fmt::Error

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.34.0 · source§

impl StructuralPartialEq for NonZeroI8

1.34.0 · source§

impl StructuralPartialEq for NonZeroI16

1.34.0 · source§

impl StructuralPartialEq for NonZeroI32

1.34.0 · source§

impl StructuralPartialEq for NonZeroI64

1.34.0 · source§

impl StructuralPartialEq for NonZeroI128

1.34.0 · source§

impl StructuralPartialEq for NonZeroIsize

1.28.0 · source§

impl StructuralPartialEq for NonZeroU8

1.28.0 · source§

impl StructuralPartialEq for NonZeroU16

1.28.0 · source§

impl StructuralPartialEq for NonZeroU32

1.28.0 · source§

impl StructuralPartialEq for NonZeroU64

1.28.0 · source§

impl StructuralPartialEq for NonZeroU128

1.28.0 · source§

impl StructuralPartialEq for NonZeroUsize

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

1.3.0 · source§

impl StructuralPartialEq for Duration

1.66.0 · source§

impl StructuralPartialEq for TryFromFloatSecsError

1.69.0 · source§

impl StructuralPartialEq for FromBytesUntilNulError

1.64.0 · source§

impl StructuralPartialEq for FromBytesWithNulError

1.36.0 · source§

impl StructuralPartialEq for RawWaker

1.36.0 · source§

impl StructuralPartialEq for RawWakerVTable

source§

impl StructuralPartialEq for CreateFlags

source§

impl StructuralPartialEq for WatchFlags

source§

impl StructuralPartialEq for Access

source§

impl StructuralPartialEq for AtFlags

source§

impl StructuralPartialEq for FallocateFlags

source§

impl StructuralPartialEq for MemfdFlags

source§

impl StructuralPartialEq for Mode

source§

impl StructuralPartialEq for OFlags

source§

impl StructuralPartialEq for RenameFlags

source§

impl StructuralPartialEq for ResolveFlags

source§

impl StructuralPartialEq for SealFlags

source§

impl StructuralPartialEq for StatVfsMountFlags

source§

impl StructuralPartialEq for StatxFlags

source§

impl StructuralPartialEq for Errno

source§

impl StructuralPartialEq for DupFlags

source§

impl StructuralPartialEq for FdFlags

source§

impl StructuralPartialEq for ReadWriteFlags

source§

impl StructuralPartialEq for MapFlags

source§

impl StructuralPartialEq for MlockFlags

source§

impl StructuralPartialEq for MprotectFlags

source§

impl StructuralPartialEq for MremapFlags

source§

impl StructuralPartialEq for MsyncFlags

source§

impl StructuralPartialEq for ProtFlags

source§

impl StructuralPartialEq for UserfaultfdFlags

source§

impl StructuralPartialEq for MountFlags

source§

impl StructuralPartialEq for MountPropagationFlags

source§

impl StructuralPartialEq for UnmountFlags

source§

impl StructuralPartialEq for FutexFlags

source§

impl StructuralPartialEq for TimerfdFlags

source§

impl StructuralPartialEq for TimerfdTimerFlags

source§

impl StructuralPartialEq for XattrFlags

source§

impl StructuralPartialEq for Opcode

source§

impl StructuralPartialEq for Pid

source§

impl StructuralPartialEq for Cpuid

source§

impl StructuralPartialEq for MembarrierQuery

source§

impl StructuralPartialEq for PidfdFlags

source§

impl StructuralPartialEq for PidfdGetfdFlags

source§

impl StructuralPartialEq for FloatingPointEmulationControl

source§

impl StructuralPartialEq for FloatingPointExceptionMode

source§

impl StructuralPartialEq for SpeculationFeatureControl

source§

impl StructuralPartialEq for SpeculationFeatureState

source§

impl StructuralPartialEq for UnalignedAccessControl

source§

impl StructuralPartialEq for Rlimit

source§

impl StructuralPartialEq for CpuSet

source§

impl StructuralPartialEq for WaitOptions

source§

impl StructuralPartialEq for WaitidOptions

source§

impl StructuralPartialEq for CapabilityFlags

source§

impl StructuralPartialEq for CapabilitySets

source§

impl StructuralPartialEq for CapabilitiesSecureBits

source§

impl StructuralPartialEq for SVEVectorLengthConfig

source§

impl StructuralPartialEq for TaggedAddressMode

source§

impl StructuralPartialEq for ThreadNameSpaceType

source§

impl StructuralPartialEq for UnshareFlags

source§

impl StructuralPartialEq for Gid

source§

impl StructuralPartialEq for Uid

1.33.0 · source§

impl StructuralPartialEq for PhantomPinned

§

impl StructuralPartialEq for ArangeEntry

§

impl StructuralPartialEq for Augmentation

§

impl StructuralPartialEq for BaseAddresses

§

impl StructuralPartialEq for BigEndian

§

impl StructuralPartialEq for DebugTypeSignature

§

impl StructuralPartialEq for DwAccess

§

impl StructuralPartialEq for DwAddr

§

impl StructuralPartialEq for DwAt

§

impl StructuralPartialEq for DwAte

§

impl StructuralPartialEq for DwCc

§

impl StructuralPartialEq for DwCfa

§

impl StructuralPartialEq for DwChildren

§

impl StructuralPartialEq for DwDefaulted

§

impl StructuralPartialEq for DwDs

§

impl StructuralPartialEq for DwDsc

§

impl StructuralPartialEq for DwEhPe

§

impl StructuralPartialEq for DwEnd

§

impl StructuralPartialEq for DwForm

§

impl StructuralPartialEq for DwId

§

impl StructuralPartialEq for DwIdx

§

impl StructuralPartialEq for DwInl

§

impl StructuralPartialEq for DwLang

§

impl StructuralPartialEq for DwLle

§

impl StructuralPartialEq for DwLnct

§

impl StructuralPartialEq for DwLne

§

impl StructuralPartialEq for DwLns

§

impl StructuralPartialEq for DwMacro

§

impl StructuralPartialEq for DwOp

§

impl StructuralPartialEq for DwOrd

§

impl StructuralPartialEq for DwRle

§

impl StructuralPartialEq for DwSect

§

impl StructuralPartialEq for DwSectV2

§

impl StructuralPartialEq for DwTag

§

impl StructuralPartialEq for DwUt

§

impl StructuralPartialEq for DwVirtuality

§

impl StructuralPartialEq for DwVis

§

impl StructuralPartialEq for DwarfFileType

§

impl StructuralPartialEq for DwoId

§

impl StructuralPartialEq for Encoding

§

impl StructuralPartialEq for Error

§

impl StructuralPartialEq for Format

§

impl StructuralPartialEq for LineEncoding

§

impl StructuralPartialEq for LittleEndian

§

impl StructuralPartialEq for Pointer

§

impl StructuralPartialEq for Range

§

impl StructuralPartialEq for ReaderOffsetId

§

impl StructuralPartialEq for Register

§

impl StructuralPartialEq for RunTimeEndian

§

impl StructuralPartialEq for SectionBaseAddresses

§

impl StructuralPartialEq for SectionId

§

impl StructuralPartialEq for StoreOnHeap

§

impl StructuralPartialEq for UnitIndexSection

§

impl StructuralPartialEq for UnwindAction

§

impl StructuralPartialEq for UnwindReasonCode

§

impl StructuralPartialEq for Value

§

impl StructuralPartialEq for ValueType

§

impl StructuralPartialEq for fsconfig_command

§

impl StructuralPartialEq for membarrier_cmd

§

impl StructuralPartialEq for membarrier_cmd_flag

1.10.0 · source§

impl<'a> StructuralPartialEq for origin_studio::panic::Location<'a>

source§

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

§

impl<'bases, Section, R> StructuralPartialEq for CieOrFde<'bases, Section, R>where R: Reader, Section: UnwindSection<R>,

§

impl<'bases, Section, R> StructuralPartialEq for PartialFrameDescriptionEntry<'bases, Section, R>where R: Reader, Section: UnwindSection<R>,

§

impl<'input, Endian> StructuralPartialEq for EndianSlice<'input, Endian>where Endian: Endianity,

1.55.0 · source§

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

1.0.0 · source§

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

1.0.0 · source§

impl<Idx> StructuralPartialEq for RangeFrom<Idx>

1.26.0 · source§

impl<Idx> StructuralPartialEq for RangeInclusive<Idx>

1.0.0 · source§

impl<Idx> StructuralPartialEq for RangeTo<Idx>

1.26.0 · source§

impl<Idx> StructuralPartialEq for RangeToInclusive<Idx>

§

impl<R> StructuralPartialEq for CallFrameInstruction<R>where R: Reader,

§

impl<R> StructuralPartialEq for CfaRule<R>where R: Reader,

§

impl<R> StructuralPartialEq for DebugFrame<R>where R: Reader,

§

impl<R> StructuralPartialEq for EhFrame<R>where R: Reader,

§

impl<R> StructuralPartialEq for EhFrameHdr<R>where R: Reader,

§

impl<R> StructuralPartialEq for EvaluationResult<R>where R: Reader,

§

impl<R> StructuralPartialEq for Expression<R>where R: Reader,

§

impl<R> StructuralPartialEq for LocationListEntry<R>where R: Reader,

§

impl<R> StructuralPartialEq for RegisterRule<R>where R: Reader,

§

impl<R, A> StructuralPartialEq for UnwindContext<R, A>where R: Reader, A: UnwindContextStorage<R>,

§

impl<R, Offset> StructuralPartialEq for ArangeHeader<R, Offset>where R: Reader<Offset = Offset>, Offset: ReaderOffset,

§

impl<R, Offset> StructuralPartialEq for CommonInformationEntry<R, Offset>where R: Reader<Offset = Offset>, Offset: ReaderOffset,

§

impl<R, Offset> StructuralPartialEq for FrameDescriptionEntry<R, Offset>where R: Reader<Offset = Offset>, Offset: ReaderOffset,

§

impl<R, Offset> StructuralPartialEq for Location<R, Offset>where R: Reader<Offset = Offset>, Offset: ReaderOffset,

§

impl<R, Offset> StructuralPartialEq for Operation<R, Offset>where R: Reader<Offset = Offset>, Offset: ReaderOffset,

§

impl<R, Offset> StructuralPartialEq for Piece<R, Offset>where R: Reader<Offset = Offset>, Offset: ReaderOffset,

§

impl<R, S> StructuralPartialEq for UnwindTableRow<R, S>where R: Reader, S: UnwindContextStorage<R>,

§

impl<Storage> StructuralPartialEq for __BindgenBitfieldUnit<Storage>

1.17.0 · source§

impl<T> StructuralPartialEq for Bound<T>

1.0.0 · source§

impl<T> StructuralPartialEq for Option<T>

1.36.0 · source§

impl<T> StructuralPartialEq for Poll<T>

source§

impl<T> StructuralPartialEq for &Twhere 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.20.0 · source§

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

1.74.0-nightly · source§

impl<T> StructuralPartialEq for Saturating<T>

1.0.0 · source§

impl<T> StructuralPartialEq for Wrapping<T>

source§

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

§

impl<T> StructuralPartialEq for DebugAbbrevOffset<T>

§

impl<T> StructuralPartialEq for DebugAddrBase<T>

§

impl<T> StructuralPartialEq for DebugAddrIndex<T>

§

impl<T> StructuralPartialEq for DebugArangesOffset<T>

§

impl<T> StructuralPartialEq for DebugFrameOffset<T>

§

impl<T> StructuralPartialEq for DebugInfoOffset<T>

§

impl<T> StructuralPartialEq for DebugLineOffset<T>

§

impl<T> StructuralPartialEq for DebugLineStrOffset<T>

§

impl<T> StructuralPartialEq for DebugLocListsBase<T>

§

impl<T> StructuralPartialEq for DebugLocListsIndex<T>

§

impl<T> StructuralPartialEq for DebugMacinfoOffset<T>

§

impl<T> StructuralPartialEq for DebugMacroOffset<T>

§

impl<T> StructuralPartialEq for DebugRngListsBase<T>

§

impl<T> StructuralPartialEq for DebugRngListsIndex<T>

§

impl<T> StructuralPartialEq for DebugStrOffset<T>

§

impl<T> StructuralPartialEq for DebugStrOffsetsBase<T>

§

impl<T> StructuralPartialEq for DebugStrOffsetsIndex<T>

§

impl<T> StructuralPartialEq for DebugTypesOffset<T>

§

impl<T> StructuralPartialEq for DieReference<T>

§

impl<T> StructuralPartialEq for EhFrameOffset<T>

§

impl<T> StructuralPartialEq for LocationListsOffset<T>

§

impl<T> StructuralPartialEq for RangeListsOffset<T>

§

impl<T> StructuralPartialEq for RawRangeListsOffset<T>

§

impl<T> StructuralPartialEq for UnitOffset<T>

§

impl<T> StructuralPartialEq for UnitSectionOffset<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<Y, R> StructuralPartialEq for GeneratorState<Y, R>