Trait cairo_vm::with_std::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 PrivateInput
impl StructuralPartialEq for Dictionary
impl StructuralPartialEq for OffsetValue
impl StructuralPartialEq for BuiltinName
impl StructuralPartialEq for MathError
impl StructuralPartialEq for ApUpdate
impl StructuralPartialEq for FpUpdate
impl StructuralPartialEq for Op1Addr
impl StructuralPartialEq for Opcode
impl StructuralPartialEq for PcUpdate
impl StructuralPartialEq for Register
impl StructuralPartialEq for Res
impl StructuralPartialEq for LayoutName
impl StructuralPartialEq for MaybeRelocatable
impl StructuralPartialEq for CairoPieValidationError
impl StructuralPartialEq for ExecScopeError
impl StructuralPartialEq for InsufficientAllocatedCellsError
impl StructuralPartialEq for MemoryError
impl StructuralPartialEq for RunnerError
impl StructuralPartialEq for TraceError
impl StructuralPartialEq for CairoArg
impl StructuralPartialEq for RunnerMode
impl StructuralPartialEq for cairo_vm::with_std::cmp::Ordering
impl StructuralPartialEq for cairo_vm::with_std::fmt::Alignment
impl StructuralPartialEq for FpCategory
impl StructuralPartialEq for IntErrorKind
impl StructuralPartialEq for SearchStep
impl StructuralPartialEq for cairo_vm::with_std::sync::atomic::Ordering
impl StructuralPartialEq for RecvTimeoutError
impl StructuralPartialEq for TryRecvError
impl StructuralPartialEq for TryReserveErrorKind
impl StructuralPartialEq for AsciiChar
impl StructuralPartialEq for IpAddr
impl StructuralPartialEq for Ipv6MulticastScope
impl StructuralPartialEq for SocketAddr
impl StructuralPartialEq for BacktraceStatus
impl StructuralPartialEq for VarError
impl StructuralPartialEq for SeekFrom
impl StructuralPartialEq for std::io::error::ErrorKind
impl StructuralPartialEq for Shutdown
impl StructuralPartialEq for BacktraceStyle
impl StructuralPartialEq for _Unwind_Action
impl StructuralPartialEq for _Unwind_Reason_Code
impl StructuralPartialEq for ark_ff::fields::sqrt::LegendreSymbol
impl StructuralPartialEq for Compress
impl StructuralPartialEq for Validate
impl StructuralPartialEq for ark_std::io::error::ErrorKind
impl StructuralPartialEq for base64ct::errors::Error
impl StructuralPartialEq for LineEnding
impl StructuralPartialEq for AllowedEnumVariants
impl StructuralPartialEq for IntegerType
impl StructuralPartialEq for BigEndian
impl StructuralPartialEq for LittleEndian
impl StructuralPartialEq for Action
impl StructuralPartialEq for bzip2::mem::Error
impl StructuralPartialEq for bzip2::mem::Status
impl StructuralPartialEq for FlushCompress
impl StructuralPartialEq for FlushDecompress
impl StructuralPartialEq for flate2::mem::Status
impl StructuralPartialEq for hashbrown::TryReserveError
impl StructuralPartialEq for FromHexError
impl StructuralPartialEq for lambdaworks_math::elliptic_curve::short_weierstrass::point::Endianness
impl StructuralPartialEq for PointFormat
impl StructuralPartialEq for EllipticCurveError
impl StructuralPartialEq for ByteConversionError
impl StructuralPartialEq for CreationError
impl StructuralPartialEq for DeserializationError
impl StructuralPartialEq for PairingError
impl StructuralPartialEq for lambdaworks_math::field::traits::LegendreSymbol
impl StructuralPartialEq for CompressionStrategy
impl StructuralPartialEq for TDEFLFlush
impl StructuralPartialEq for TDEFLStatus
impl StructuralPartialEq for CompressionLevel
impl StructuralPartialEq for DataFormat
impl StructuralPartialEq for MZError
impl StructuralPartialEq for MZFlush
impl StructuralPartialEq for MZStatus
impl StructuralPartialEq for TINFLStatus
impl StructuralPartialEq for nom::error::ErrorKind
impl StructuralPartialEq for Needed
impl StructuralPartialEq for nom::number::Endianness
impl StructuralPartialEq for CompareResult
impl StructuralPartialEq for Sign
impl StructuralPartialEq for Primality
impl StructuralPartialEq for Encoding
impl StructuralPartialEq for password_hash::errors::Error
impl StructuralPartialEq for InvalidValue
impl StructuralPartialEq for Algorithm
impl StructuralPartialEq for BernoulliError
impl StructuralPartialEq for WeightedError
impl StructuralPartialEq for RoundingStrategy
impl StructuralPartialEq for rust_decimal::error::Error
impl StructuralPartialEq for Category
impl StructuralPartialEq for serde_json::value::Value
impl StructuralPartialEq for CurveError
impl StructuralPartialEq for Month
impl StructuralPartialEq for Weekday
impl StructuralPartialEq for CompressionMethod
impl StructuralPartialEq for CParameter
impl StructuralPartialEq for ZSTD_EndDirective
impl StructuralPartialEq for ZSTD_ResetDirective
impl StructuralPartialEq for ZSTD_cParameter
impl StructuralPartialEq for ZSTD_dParameter
impl StructuralPartialEq for ZSTD_strategy
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 AirPrivateInput
impl StructuralPartialEq for AirPrivateInputSerializable
impl StructuralPartialEq for ModInput
impl StructuralPartialEq for ModInputInstance
impl StructuralPartialEq for ModInputMemoryVars
impl StructuralPartialEq for PrivateInputEcOp
impl StructuralPartialEq for PrivateInputKeccakState
impl StructuralPartialEq for PrivateInputPair
impl StructuralPartialEq for PrivateInputPoseidonState
impl StructuralPartialEq for PrivateInputSignature
impl StructuralPartialEq for PrivateInputValue
impl StructuralPartialEq for SignatureInput
impl StructuralPartialEq for MemorySegmentAddresses
impl StructuralPartialEq for PublicMemoryEntry
impl StructuralPartialEq for DictManager
impl StructuralPartialEq for DictTracker
impl StructuralPartialEq for HintReference
impl StructuralPartialEq for ApTracking
impl StructuralPartialEq for Attribute
impl StructuralPartialEq for DebugInfo
impl StructuralPartialEq for FlowTrackingData
impl StructuralPartialEq for HintLocation
impl StructuralPartialEq for HintParams
impl StructuralPartialEq for Identifier
impl StructuralPartialEq for InputFile
impl StructuralPartialEq for InstructionLocation
impl StructuralPartialEq for cairo_vm::serde::deserialize_program::Location
impl StructuralPartialEq for Member
impl StructuralPartialEq for Reference
impl StructuralPartialEq for ReferenceManager
impl StructuralPartialEq for ValueAddress
impl StructuralPartialEq for String
impl StructuralPartialEq for Felt
impl StructuralPartialEq for Instruction
impl StructuralPartialEq for Program
impl StructuralPartialEq for Relocatable
impl StructuralPartialEq for OutputBuiltinState
impl StructuralPartialEq for CairoPie
impl StructuralPartialEq for CairoPieAdditionalData
impl StructuralPartialEq for CairoPieMetadata
impl StructuralPartialEq for CairoPieVersion
impl StructuralPartialEq for OutputBuiltinAdditionalData
impl StructuralPartialEq for PublicMemoryPage
impl StructuralPartialEq for cairo_vm::vm::runners::cairo_pie::SegmentInfo
impl StructuralPartialEq for StrippedProgram
impl StructuralPartialEq for ExecutionResources
impl StructuralPartialEq for RunResources
impl StructuralPartialEq for cairo_vm::vm::runners::cairo_runner::SegmentInfo
impl StructuralPartialEq for RelocatedTraceEntry
impl StructuralPartialEq for TraceEntry
impl StructuralPartialEq for Operands
impl StructuralPartialEq for OperandsAddresses
impl StructuralPartialEq for cairo_vm::with_std::alloc::AllocError
impl StructuralPartialEq for Layout
impl StructuralPartialEq for LayoutError
impl StructuralPartialEq for cairo_vm::with_std::fmt::Error
impl StructuralPartialEq for Assume
impl StructuralPartialEq for ParseFloatError
impl StructuralPartialEq for cairo_vm::with_std::num::ParseIntError
impl StructuralPartialEq for cairo_vm::with_std::num::TryFromIntError
impl StructuralPartialEq for RangeFull
impl StructuralPartialEq for cairo_vm::with_std::ptr::Alignment
impl StructuralPartialEq for ParseBoolError
impl StructuralPartialEq for Utf8Error
impl StructuralPartialEq for FromUtf8Error
impl StructuralPartialEq for RecvError
impl StructuralPartialEq for WaitTimeoutResult
impl StructuralPartialEq for cairo_vm::with_std::time::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 CharTryFromError
impl StructuralPartialEq for ParseCharError
impl StructuralPartialEq for DecodeUtf16Error
impl StructuralPartialEq for TryFromCharError
impl StructuralPartialEq for CpuidResult
impl StructuralPartialEq for CStr
impl StructuralPartialEq for FromBytesUntilNulError
impl StructuralPartialEq for FromBytesWithNulError
impl StructuralPartialEq for Ipv4Addr
impl StructuralPartialEq for Ipv6Addr
impl StructuralPartialEq for AddrParseError
impl StructuralPartialEq for SocketAddrV4
impl StructuralPartialEq for SocketAddrV6
impl StructuralPartialEq for RawWaker
impl StructuralPartialEq for RawWakerVTable
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 AccessError
impl StructuralPartialEq for ThreadId
impl StructuralPartialEq for std::time::Instant
impl StructuralPartialEq for SystemTime
impl StructuralPartialEq for allocator_api2::stable::alloc::AllocError
impl StructuralPartialEq for EmptyFlags
impl StructuralPartialEq for Base64Bcrypt
impl StructuralPartialEq for Base64Crypt
impl StructuralPartialEq for Base64ShaCrypt
impl StructuralPartialEq for Base64
impl StructuralPartialEq for Base64Unpadded
impl StructuralPartialEq for Base64Url
impl StructuralPartialEq for Base64UrlUnpadded
impl StructuralPartialEq for InvalidEncodingError
impl StructuralPartialEq for InvalidLengthError
impl StructuralPartialEq for Lsb0
impl StructuralPartialEq for Msb0
impl StructuralPartialEq for block_buffer::Error
impl StructuralPartialEq for Reciprocal
impl StructuralPartialEq for InvalidLength
impl StructuralPartialEq for deranged::ParseIntError
impl StructuralPartialEq for deranged::TryFromIntError
impl StructuralPartialEq for MacError
impl StructuralPartialEq for InvalidBufferSize
impl StructuralPartialEq for GzHeader
impl StructuralPartialEq for Compression
impl StructuralPartialEq for getrandom::error::Error
impl StructuralPartialEq for MontgomeryConfigBabybear31PrimeField
impl StructuralPartialEq for MontgomeryConfigU64GoldilocksPrimeField
impl StructuralPartialEq for MontgomeryConfigMersenne31PrimeField
impl StructuralPartialEq for Mersenne31Field
impl StructuralPartialEq for P448GoldilocksPrimeField
impl StructuralPartialEq for U56x8
impl StructuralPartialEq for MontgomeryConfigPallas255PrimeField
impl StructuralPartialEq for Goldilocks64Field
impl StructuralPartialEq for MontgomeryConfigVesta255PrimeField
impl StructuralPartialEq for StreamResult
impl StructuralPartialEq for ParseBigIntError
impl StructuralPartialEq for udouble
impl StructuralPartialEq for ParamsString
impl StructuralPartialEq for Params
impl StructuralPartialEq for Pbkdf2
impl StructuralPartialEq for Bernoulli
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 IgnoredAny
impl StructuralPartialEq for serde::de::value::Error
impl StructuralPartialEq for Number
impl StructuralPartialEq for starknet_curve::ec_point::AffinePoint
impl StructuralPartialEq for starknet_curve::ec_point::ProjectivePoint
impl StructuralPartialEq for FieldElement
impl StructuralPartialEq for starknet_types_core::curve::affine_point::AffinePoint
impl StructuralPartialEq for starknet_types_core::curve::projective_point::ProjectivePoint
impl StructuralPartialEq for NonZeroFelt
impl StructuralPartialEq for Date
impl StructuralPartialEq for time::duration::Duration
impl StructuralPartialEq for ComponentRange
impl StructuralPartialEq for ConversionRange
impl StructuralPartialEq for DifferentVariant
impl StructuralPartialEq for InvalidVariant
impl StructuralPartialEq for time::instant::Instant
impl StructuralPartialEq for PrimitiveDateTime
impl StructuralPartialEq for UtcOffset
impl StructuralPartialEq for ATerm
impl StructuralPartialEq for B0
impl StructuralPartialEq for B1
impl StructuralPartialEq for Z0
impl StructuralPartialEq for Equal
impl StructuralPartialEq for Greater
impl StructuralPartialEq for Less
impl StructuralPartialEq for UTerm
impl StructuralPartialEq for Const
impl StructuralPartialEq for Mut
impl StructuralPartialEq for NullPtrError
impl StructuralPartialEq for PhantomPinned
impl<'a> StructuralPartialEq for Component<'a>
impl<'a> StructuralPartialEq for Prefix<'a>
impl<'a> StructuralPartialEq for Unexpected<'a>
impl<'a> StructuralPartialEq for Utf8Chunk<'a>
impl<'a> StructuralPartialEq for core::panic::location::Location<'a>
impl<'a> StructuralPartialEq for Ident<'a>
impl<'a> StructuralPartialEq for Salt<'a>
impl<'a> StructuralPartialEq for PasswordHash<'a>
impl<'a> StructuralPartialEq for password_hash::value::Value<'a>
impl<'a, T, O> StructuralPartialEq for IterOnes<'a, T, O>
impl<'a, T, O> StructuralPartialEq for IterZeros<'a, T, O>
impl<A> StructuralPartialEq for ExtendedGcd<A>
impl<B, C> StructuralPartialEq for ControlFlow<B, C>
impl<E> StructuralPartialEq for Err<E>
impl<F> StructuralPartialEq for DenseMultilinearPolynomial<F>
impl<F, T> StructuralPartialEq for CubicExtensionField<F, T>
impl<F, T> StructuralPartialEq for QuadraticExtensionField<F, T>where
F: IsField,
T: HasQuadraticNonResidue<F>,
impl<FE> StructuralPartialEq for Polynomial<FE>
impl<G1Point, G2Point> StructuralPartialEq for StructuredReferenceString<G1Point, G2Point>
impl<I> StructuralPartialEq for nom::error::Error<I>
impl<Idx> StructuralPartialEq for cairo_vm::with_std::ops::Range<Idx>
impl<Idx> StructuralPartialEq for cairo_vm::with_std::ops::RangeFrom<Idx>
impl<Idx> StructuralPartialEq for cairo_vm::with_std::ops::RangeInclusive<Idx>
impl<Idx> StructuralPartialEq for RangeTo<Idx>
impl<Idx> StructuralPartialEq for RangeToInclusive<Idx>
impl<Idx> StructuralPartialEq for core::range::Range<Idx>
impl<Idx> StructuralPartialEq for core::range::RangeFrom<Idx>
impl<Idx> StructuralPartialEq for core::range::RangeInclusive<Idx>
impl<Inner> StructuralPartialEq for Frozen<Inner>where
Inner: Mutability,
impl<L, R> StructuralPartialEq for Either<L, R>
impl<MOD, const LIMBS: usize> StructuralPartialEq for Residue<MOD, LIMBS>where
MOD: ResidueParams<LIMBS>,
impl<R> StructuralPartialEq for BitEnd<R>where
R: BitRegister,
impl<R> StructuralPartialEq for BitIdx<R>where
R: BitRegister,
impl<R> StructuralPartialEq for BitIdxError<R>where
R: BitRegister,
impl<R> StructuralPartialEq for BitMask<R>where
R: BitRegister,
impl<R> StructuralPartialEq for BitPos<R>where
R: BitRegister,
impl<R> StructuralPartialEq for BitSel<R>where
R: BitRegister,
impl<T> StructuralPartialEq for Bound<T>
impl<T> StructuralPartialEq for TrySendError<T>
impl<T> StructuralPartialEq for Option<T>
impl<T> StructuralPartialEq for Poll<T>
impl<T> StructuralPartialEq for BitPtrError<T>where
T: BitStore,
impl<T> StructuralPartialEq for BitSpanError<T>where
T: BitStore,
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.