Trait wasmtime_environ::__core::marker::StructuralPartialEq
source · pub trait StructuralPartialEq { }
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 PartialEq
.
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 an attribute-based design to this trait.
Implementors§
impl StructuralPartialEq for EngineOrModuleTypeIndex
impl StructuralPartialEq for EntityIndex
impl StructuralPartialEq for GlobalInit
impl StructuralPartialEq for Trap
impl StructuralPartialEq for VMGcKind
impl StructuralPartialEq for WasmHeapType
impl StructuralPartialEq for WasmValType
impl StructuralPartialEq for LibCall
impl StructuralPartialEq for BlockType
impl StructuralPartialEq for CanonicalOption
impl StructuralPartialEq for ComdatSymbolKind
impl StructuralPartialEq for ComponentExternalKind
impl StructuralPartialEq for ComponentOuterAliasKind
impl StructuralPartialEq for ComponentTypeRef
impl StructuralPartialEq for ComponentValType
impl StructuralPartialEq for CompositeType
impl StructuralPartialEq for Encoding
impl StructuralPartialEq for ExternalKind
impl StructuralPartialEq for FrameKind
impl StructuralPartialEq for HeapType
impl StructuralPartialEq for InstantiationArgKind
impl StructuralPartialEq for OuterAliasKind
impl StructuralPartialEq for PrimitiveValType
impl StructuralPartialEq for StorageType
impl StructuralPartialEq for TypeBounds
impl StructuralPartialEq for UnpackedIndex
impl StructuralPartialEq for ValType
impl StructuralPartialEq for AnyTypeId
impl StructuralPartialEq for ComponentAnyTypeId
impl StructuralPartialEq for ComponentCoreTypeId
impl StructuralPartialEq for AsciiChar
impl StructuralPartialEq for wasmtime_environ::__core::cmp::Ordering
impl StructuralPartialEq for wasmtime_environ::__core::fmt::Alignment
impl StructuralPartialEq for IpAddr
impl StructuralPartialEq for Ipv6MulticastScope
impl StructuralPartialEq for SocketAddr
impl StructuralPartialEq for FpCategory
impl StructuralPartialEq for IntErrorKind
impl StructuralPartialEq for SearchStep
impl StructuralPartialEq for wasmtime_environ::__core::sync::atomic::Ordering
impl StructuralPartialEq for TryReserveErrorKind
impl StructuralPartialEq for BacktraceStatus
impl StructuralPartialEq for VarError
impl StructuralPartialEq for SeekFrom
impl StructuralPartialEq for ErrorKind
impl StructuralPartialEq for Shutdown
impl StructuralPartialEq for BacktraceStyle
impl StructuralPartialEq for RecvTimeoutError
impl StructuralPartialEq for TryRecvError
impl StructuralPartialEq for _Unwind_Action
impl StructuralPartialEq for _Unwind_Reason_Code
impl StructuralPartialEq for hashbrown::TryReserveError
impl StructuralPartialEq for AddressSize
impl StructuralPartialEq for object::common::Architecture
impl StructuralPartialEq for object::common::BinaryFormat
impl StructuralPartialEq for ComdatKind
impl StructuralPartialEq for FileFlags
impl StructuralPartialEq for RelocationEncoding
impl StructuralPartialEq for RelocationFlags
impl StructuralPartialEq for RelocationKind
impl StructuralPartialEq for SectionFlags
impl StructuralPartialEq for SectionKind
impl StructuralPartialEq for object::common::SegmentFlags
impl StructuralPartialEq for SubArchitecture
impl StructuralPartialEq for SymbolKind
impl StructuralPartialEq for SymbolScope
impl StructuralPartialEq for object::endian::Endianness
impl StructuralPartialEq for CompressionFormat
impl StructuralPartialEq for FileKind
impl StructuralPartialEq for ObjectKind
impl StructuralPartialEq for RelocationTarget
impl StructuralPartialEq for SymbolSection
impl StructuralPartialEq for Op
impl StructuralPartialEq for CDataModel
impl StructuralPartialEq for Size
impl StructuralPartialEq for ParseError
impl StructuralPartialEq for Aarch64Architecture
impl StructuralPartialEq for target_lexicon::targets::Architecture
impl StructuralPartialEq for ArmArchitecture
impl StructuralPartialEq for target_lexicon::targets::BinaryFormat
impl StructuralPartialEq for Environment
impl StructuralPartialEq for Mips32Architecture
impl StructuralPartialEq for Mips64Architecture
impl StructuralPartialEq for OperatingSystem
impl StructuralPartialEq for Riscv32Architecture
impl StructuralPartialEq for Riscv64Architecture
impl StructuralPartialEq for Vendor
impl StructuralPartialEq for X86_32Architecture
impl StructuralPartialEq for CallingConvention
impl StructuralPartialEq for target_lexicon::triple::Endianness
impl StructuralPartialEq for PointerWidth
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 BuiltinFunctionIndex
impl StructuralPartialEq for DataIndex
impl StructuralPartialEq for DefinedFuncIndex
impl StructuralPartialEq for DefinedGlobalIndex
impl StructuralPartialEq for DefinedMemoryIndex
impl StructuralPartialEq for DefinedTableIndex
impl StructuralPartialEq for ElemIndex
impl StructuralPartialEq for FilePos
impl StructuralPartialEq for FuncIndex
impl StructuralPartialEq for FuncRefIndex
impl StructuralPartialEq for Global
impl StructuralPartialEq for GlobalIndex
impl StructuralPartialEq for InstructionAddressMap
impl StructuralPartialEq for Memory
impl StructuralPartialEq for MemoryIndex
impl StructuralPartialEq for ModuleInternedTypeIndex
impl StructuralPartialEq for OwnedMemoryIndex
impl StructuralPartialEq for StaticModuleIndex
impl StructuralPartialEq for Table
impl StructuralPartialEq for TableIndex
impl StructuralPartialEq for Tag
impl StructuralPartialEq for TagIndex
impl StructuralPartialEq for TrapInformation
impl StructuralPartialEq for TypeIndex
impl StructuralPartialEq for WasmFuncType
impl StructuralPartialEq for WasmRefType
impl StructuralPartialEq for ArrayType
impl StructuralPartialEq for FieldType
impl StructuralPartialEq for FuncType
impl StructuralPartialEq for GlobalType
impl StructuralPartialEq for Ieee32
impl StructuralPartialEq for Ieee64
impl StructuralPartialEq for MemoryType
impl StructuralPartialEq for PackedIndex
impl StructuralPartialEq for RefType
impl StructuralPartialEq for wasmtime_environ::wasmparser::SegmentFlags
impl StructuralPartialEq for StructType
impl StructuralPartialEq for SubType
impl StructuralPartialEq for wasmtime_environ::wasmparser::SymbolFlags
impl StructuralPartialEq for TableType
impl StructuralPartialEq for V128
impl StructuralPartialEq for AliasableResourceId
impl StructuralPartialEq for ComponentCoreInstanceTypeId
impl StructuralPartialEq for ComponentCoreModuleTypeId
impl StructuralPartialEq for ComponentDefinedTypeId
impl StructuralPartialEq for ComponentFuncTypeId
impl StructuralPartialEq for ComponentInstanceTypeId
impl StructuralPartialEq for ComponentTypeId
impl StructuralPartialEq for ComponentValueTypeId
impl StructuralPartialEq for CoreTypeId
impl StructuralPartialEq for RecGroupId
impl StructuralPartialEq for ResourceId
impl StructuralPartialEq for 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 FromBytesUntilNulError
impl StructuralPartialEq for FromBytesWithNulError
impl StructuralPartialEq for wasmtime_environ::__core::fmt::Error
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 wasmtime_environ::__core::ptr::Alignment
impl StructuralPartialEq for ParseBoolError
impl StructuralPartialEq for Utf8Error
impl StructuralPartialEq for RawWaker
impl StructuralPartialEq for RawWakerVTable
impl StructuralPartialEq for Duration
impl StructuralPartialEq for TryFromFloatSecsError
impl StructuralPartialEq for UnorderedKeyError
impl StructuralPartialEq for alloc::collections::TryReserveError
impl StructuralPartialEq for CString
impl StructuralPartialEq for FromVecWithNulError
impl StructuralPartialEq for IntoStringError
impl StructuralPartialEq for NulError
impl StructuralPartialEq for FromUtf8Error
impl StructuralPartialEq for String
impl StructuralPartialEq for FileType
impl StructuralPartialEq for Permissions
impl StructuralPartialEq for UCred
impl StructuralPartialEq for StripPrefixError
impl StructuralPartialEq for ExitStatus
impl StructuralPartialEq for ExitStatusError
impl StructuralPartialEq for Output
impl StructuralPartialEq for WaitTimeoutResult
impl StructuralPartialEq for RecvError
impl StructuralPartialEq for AccessError
impl StructuralPartialEq for ThreadId
impl StructuralPartialEq for Instant
impl StructuralPartialEq for SystemTime
impl StructuralPartialEq for indexmap::TryReserveError
impl StructuralPartialEq for BigEndian
impl StructuralPartialEq for LittleEndian
impl StructuralPartialEq for CompressedFileRange
impl StructuralPartialEq for object::read::Error
impl StructuralPartialEq for SectionIndex
impl StructuralPartialEq for SymbolIndex
impl StructuralPartialEq for BuildMetadata
impl StructuralPartialEq for Comparator
impl StructuralPartialEq for Prerelease
impl StructuralPartialEq for Version
impl StructuralPartialEq for VersionReq
impl StructuralPartialEq for IgnoredAny
impl StructuralPartialEq for serde::de::value::Error
impl StructuralPartialEq for DefaultToHost
impl StructuralPartialEq for DefaultToUnknown
impl StructuralPartialEq for Triple
impl StructuralPartialEq for PhantomPinned
impl<'a> StructuralPartialEq for FlagValue<'a>
impl<'a> StructuralPartialEq for ComponentDefinedType<'a>
impl<'a> StructuralPartialEq for Component<'a>
impl<'a> StructuralPartialEq for Prefix<'a>
impl<'a> StructuralPartialEq for Unexpected<'a>
impl<'a> StructuralPartialEq for DependencyName<'a>
impl<'a> StructuralPartialEq for HashName<'a>
impl<'a> StructuralPartialEq for InterfaceName<'a>
impl<'a> StructuralPartialEq for ResourceFunc<'a>
impl<'a> StructuralPartialEq for UrlName<'a>
impl<'a> StructuralPartialEq for VariantCase<'a>
impl<'a> StructuralPartialEq for Location<'a>
impl<'a> StructuralPartialEq for Utf8Chunk<'a>
impl<'data> StructuralPartialEq for CodeView<'data>
impl<'data> StructuralPartialEq for CompressedData<'data>
impl<'data> StructuralPartialEq for Export<'data>
impl<'data> StructuralPartialEq for Import<'data>
impl<'data> StructuralPartialEq for ObjectMapEntry<'data>
impl<'data> StructuralPartialEq for SymbolMapName<'data>
impl<'data> StructuralPartialEq for Bytes<'data>
impl<B, C> StructuralPartialEq for ControlFlow<B, C>
impl<E> StructuralPartialEq for I16<E>where
E: Endian,
impl<E> StructuralPartialEq for I32<E>where
E: Endian,
impl<E> StructuralPartialEq for I64<E>where
E: Endian,
impl<E> StructuralPartialEq for U16<E>where
E: Endian,
impl<E> StructuralPartialEq for U32<E>where
E: Endian,
impl<E> StructuralPartialEq for U64<E>where
E: Endian,
impl<E> StructuralPartialEq for I16Bytes<E>where
E: Endian,
impl<E> StructuralPartialEq for I32Bytes<E>where
E: Endian,
impl<E> StructuralPartialEq for I64Bytes<E>where
E: Endian,
impl<E> StructuralPartialEq for U16Bytes<E>where
E: Endian,
impl<E> StructuralPartialEq for U32Bytes<E>where
E: Endian,
impl<E> StructuralPartialEq for U64Bytes<E>where
E: Endian,
impl<Idx> StructuralPartialEq for Range<Idx>
impl<Idx> StructuralPartialEq for RangeFrom<Idx>
impl<Idx> StructuralPartialEq for RangeInclusive<Idx>
impl<Idx> StructuralPartialEq for RangeTo<Idx>
impl<Idx> StructuralPartialEq for RangeToInclusive<Idx>
impl<K, V> StructuralPartialEq for PrimaryMap<K, V>where
K: EntityRef,
impl<Section, Symbol> StructuralPartialEq for object::common::SymbolFlags<Section, Symbol>
impl<T> StructuralPartialEq for Bound<T>
impl<T> StructuralPartialEq for Option<T>
impl<T> StructuralPartialEq for Poll<T>
impl<T> StructuralPartialEq for TrySendError<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.