Trait ibc_core::primitives::prelude::Eq
1.0.0 · source · pub trait Eq: PartialEq { }
Expand description
Trait for comparisons corresponding to equivalence relations.
This means, that in addition to a == b
and a != b
being strict inverses,
the relation must be (for all a
, b
and c
):
- reflexive:
a == a
; - symmetric:
a == b
impliesb == a
(required byPartialEq
as well); and - transitive:
a == b
andb == c
impliesa == c
(required byPartialEq
as well).
This property cannot be checked by the compiler, and therefore Eq
implies
PartialEq
, and has no extra methods.
Violating this property is a logic error. The behavior resulting from a logic error is not
specified, but users of the trait must ensure that such logic errors do not result in
undefined behavior. This means that unsafe
code must not rely on the correctness of these
methods.
Implement Eq
in addition to PartialEq
if it’s guaranteed that
PartialEq::eq(a, a)
always returns true
(reflexivity), in addition to
the symmetric and transitive properties already required by PartialEq
.
Derivable
This trait can be used with #[derive]
. When derive
d, because Eq
has
no extra methods, it is only informing the compiler that this is an
equivalence relation rather than a partial equivalence relation. Note that
the derive
strategy requires all fields are Eq
, which isn’t
always desired.
How can I implement Eq
?
If you cannot use the derive
strategy, specify that your type implements
Eq
, which has no methods:
enum BookFormat { Paperback, Hardback, Ebook }
struct Book {
isbn: i32,
format: BookFormat,
}
impl PartialEq for Book {
fn eq(&self, other: &Self) -> bool {
self.isbn == other.isbn
}
}
impl Eq for Book {}
Object Safety§
Implementors§
impl Eq for AcknowledgementStatus
impl Eq for ibc_core::channel::types::channel::Order
impl Eq for ibc_core::channel::types::channel::State
impl Eq for ChannelMsg
impl Eq for PacketMsg
impl Eq for PacketMsgType
impl Eq for ibc_core::channel::types::proto::v1::Order
impl Eq for ResponseResultType
impl Eq for ibc_core::channel::types::proto::v1::State
impl Eq for TimeoutHeight
impl Eq for ClientMsg
impl Eq for Status
impl Eq for UpdateKind
impl Eq for HashOp
impl Eq for LengthOp
impl Eq for ibc_core::connection::types::State
impl Eq for ConnectionMsg
impl Eq for ibc_core::connection::types::proto::v1::State
impl Eq for IbcEvent
impl Eq for MessageEvent
impl Eq for MsgEnvelope
impl Eq for ibc_core::host::types::path::Path
impl Eq for UpgradeClientPath
impl Eq for Expiry
impl Eq for TryReserveErrorKind
impl Eq for AsciiChar
impl Eq for core::cmp::Ordering
impl Eq for Infallible
impl Eq for core::fmt::Alignment
impl Eq for IpAddr
impl Eq for Ipv6MulticastScope
impl Eq for SocketAddr
impl Eq for FpCategory
impl Eq for IntErrorKind
impl Eq for core::sync::atomic::Ordering
impl Eq for BacktraceStatus
impl Eq for VarError
impl Eq for SeekFrom
impl Eq for std::io::error::ErrorKind
impl Eq for Shutdown
impl Eq for BacktraceStyle
impl Eq for RecvTimeoutError
impl Eq for TryRecvError
impl Eq for Category
impl Eq for Value
impl Eq for subtle_encoding::error::Error
impl Eq for SearchStep
impl Eq for bool
impl Eq for char
impl Eq for i8
impl Eq for i16
impl Eq for i32
impl Eq for i64
impl Eq for i128
impl Eq for isize
impl Eq for !
impl Eq for str
impl Eq for u8
impl Eq for u16
impl Eq for u32
impl Eq for u64
impl Eq for u128
impl Eq for ()
impl Eq for usize
impl Eq for Acknowledgement
impl Eq for StatusValue
impl Eq for ChannelEnd
impl Eq for ibc_core::channel::types::channel::Counterparty
impl Eq for IdentifiedChannelEnd
impl Eq for AcknowledgementCommitment
impl Eq for PacketCommitment
impl Eq for AcknowledgePacket
impl Eq for ChannelClosed
impl Eq for CloseConfirm
impl Eq for CloseInit
impl Eq for ibc_core::channel::types::events::OpenAck
impl Eq for ibc_core::channel::types::events::OpenConfirm
impl Eq for ibc_core::channel::types::events::OpenInit
impl Eq for ibc_core::channel::types::events::OpenTry
impl Eq for ReceivePacket
impl Eq for SendPacket
impl Eq for TimeoutPacket
impl Eq for WriteAcknowledgement
impl Eq for MsgAcknowledgement
impl Eq for MsgChannelCloseConfirm
impl Eq for MsgChannelCloseInit
impl Eq for MsgChannelOpenAck
impl Eq for MsgChannelOpenConfirm
impl Eq for MsgChannelOpenInit
impl Eq for MsgChannelOpenTry
impl Eq for MsgRecvPacket
impl Eq for MsgTimeout
impl Eq for MsgTimeoutOnClose
impl Eq for Packet
impl Eq for PacketState
impl Eq for ibc_core::channel::types::Version
impl Eq for ClientMisbehaviour
impl Eq for CreateClient
impl Eq for UpdateClient
impl Eq for UpgradeClient
impl Eq for MsgCreateClient
impl Eq for MsgSubmitMisbehaviour
impl Eq for MsgUpdateClient
impl Eq for MsgUpgradeClient
impl Eq for ibc_core::client::context::types::proto::v1::Height
impl Eq for ibc_core::client::types::Height
impl Eq for CommitmentPrefix
impl Eq for CommitmentProofBytes
impl Eq for CommitmentRoot
impl Eq for ibc_core::connection::types::events::OpenAck
impl Eq for ibc_core::connection::types::events::OpenConfirm
impl Eq for ibc_core::connection::types::events::OpenInit
impl Eq for ibc_core::connection::types::events::OpenTry
impl Eq for MsgConnectionOpenAck
impl Eq for MsgConnectionOpenConfirm
impl Eq for MsgConnectionOpenInit
impl Eq for MsgConnectionOpenTry
impl Eq for ConnectionEnd
impl Eq for ibc_core::connection::types::Counterparty
impl Eq for IdentifiedConnectionEnd
impl Eq for ibc_core::connection::types::version::Version
impl Eq for ChainId
impl Eq for ChannelId
impl Eq for ClientId
impl Eq for ClientType
impl Eq for ConnectionId
impl Eq for PortId
impl Eq for Sequence
impl Eq for AckPath
impl Eq for ChannelEndPath
impl Eq for ClientConnectionPath
impl Eq for ClientConsensusStatePath
impl Eq for ClientStatePath
impl Eq for CommitmentPath
impl Eq for ConnectionPath
impl Eq for PortPath
impl Eq for ReceiptPath
impl Eq for SeqAckPath
impl Eq for SeqRecvPath
impl Eq for SeqSendPath
impl Eq for ModuleEvent
impl Eq for ModuleEventAttribute
impl Eq for ModuleId
impl Eq for Any
impl Eq for Signer
impl Eq for ibc_core::primitives::Timestamp
impl Eq for alloc::collections::TryReserveError
impl Eq for CString
impl Eq for FromVecWithNulError
impl Eq for IntoStringError
impl Eq for NulError
impl Eq for FromUtf8Error
impl Eq for Layout
impl Eq for LayoutError
impl Eq for AllocError
impl Eq for TypeId
impl Eq for CharTryFromError
impl Eq for ParseCharError
impl Eq for DecodeUtf16Error
impl Eq for TryFromCharError
impl Eq for CpuidResult
impl Eq for CStr
impl Eq for FromBytesUntilNulError
impl Eq for FromBytesWithNulError
impl Eq for core::fmt::Error
impl Eq for PhantomPinned
impl Eq for Assume
impl Eq for Ipv4Addr
impl Eq for Ipv6Addr
impl Eq for AddrParseError
impl Eq for SocketAddrV4
impl Eq for SocketAddrV6
impl Eq for ParseFloatError
impl Eq for core::num::error::ParseIntError
impl Eq for core::num::error::TryFromIntError
impl Eq for NonZeroI8
impl Eq for NonZeroI16
impl Eq for NonZeroI32
impl Eq for NonZeroI64
impl Eq for NonZeroI128
impl Eq for NonZeroIsize
impl Eq for NonZeroU8
impl Eq for NonZeroU16
impl Eq for NonZeroU32
impl Eq for NonZeroU64
impl Eq for NonZeroU128
impl Eq for NonZeroUsize
impl Eq for RangeFull
impl Eq for core::ptr::alignment::Alignment
impl Eq for core::time::Duration
impl Eq for TryFromFloatSecsError
impl Eq for OsStr
impl Eq for OsString
impl Eq for FileType
impl Eq for Permissions
impl Eq for UCred
impl Eq for Components<'_>
impl Eq for std::path::Path
impl Eq for PathBuf
impl Eq for StripPrefixError
impl Eq for ExitStatus
impl Eq for ExitStatusError
impl Eq for Output
impl Eq for WaitTimeoutResult
impl Eq for RecvError
impl Eq for AccessError
impl Eq for ThreadId
impl Eq for std::time::Instant
impl Eq for SystemTime
impl Eq for prost::error::DecodeError
impl Eq for EncodeError
impl Eq for Map<String, Value>
impl Eq for Number
impl Eq for Base64
impl Eq for Hex
impl Eq for Identity
impl Eq for ATerm
impl Eq for B0
impl Eq for B1
impl Eq for Z0
impl Eq for Equal
impl Eq for Greater
impl Eq for Less
impl Eq for UTerm
impl Eq for ParseBoolError
impl Eq for Utf8Error
impl Eq for String
impl Eq for AbciParams
impl Eq for Algorithm
impl Eq for Algorithm
impl Eq for Alphabet
impl Eq for AppHash
impl Eq for ApplySnapshotChunk
impl Eq for ApplySnapshotChunk
impl Eq for ApplySnapshotChunkResult
impl Eq for AuthorizationType
impl Eq for BeginBlock
impl Eq for BeginBlock
impl Eq for Block
impl Eq for BlockIdFlag
impl Eq for BlockIdFlag
impl Eq for BlockIdFlag
impl Eq for BlockIdFlag
impl Eq for BlockIdFlagSubdetail
impl Eq for BlockSignatureInfo
impl Eq for BondStatus
impl Eq for BorshSchemaContainer
impl Eq for BroadcastMode
impl Eq for Bytes
impl Eq for BytesMut
impl Eq for CType
impl Eq for CanonicalProposal
impl Eq for CanonicalVote
impl Eq for Channels
impl Eq for CheckTx
impl Eq for CheckTx
impl Eq for CheckTxKind
impl Eq for CheckTxType
impl Eq for CheckTxType
impl Eq for CheckTxType
impl Eq for Code
impl Eq for Commit
impl Eq for Commit
impl Eq for CommitInfo
impl Eq for CommitSig
impl Eq for Component
impl Eq for ComponentRange
impl Eq for ConflictingBlock
impl Eq for ConsensusRequest
impl Eq for ConsensusRequest
impl Eq for ConsensusRequest
impl Eq for ConsensusResponse
impl Eq for ConsensusResponse
impl Eq for ConsensusResponse
impl Eq for ConsumerPacketDataType
impl Eq for ConversionRange
impl Eq for CryptoSubdetail
impl Eq for Date
impl Eq for DateKind
impl Eq for DateOutOfRangeSubdetail
impl Eq for Day
impl Eq for DecodeError
impl Eq for DecodeError
impl Eq for DecodeMetadata
impl Eq for DecodePaddingMode
impl Eq for DecodeSliceError
impl Eq for Definition
impl Eq for DeliverTx
impl Eq for DeliverTx
impl Eq for DifferentVariant
impl Eq for DuplicateVoteEvidence
impl Eq for Duration
impl Eq for Duration
impl Eq for Duration
impl Eq for DurationOutOfRangeSubdetail
impl Eq for Echo
impl Eq for Echo
impl Eq for EmptySignatureSubdetail
impl Eq for EncodeSliceError
impl Eq for End
impl Eq for EndBlock
impl Eq for EndBlock
impl Eq for EnumType
impl Eq for Error
impl Eq for Error
impl Eq for Error
impl Eq for ErrorDetail
impl Eq for ErrorKind
impl Eq for Errors
impl Eq for Errors
impl Eq for Errors
impl Eq for Event
impl Eq for EventAttribute
impl Eq for Evidence
impl Eq for EvidenceType
impl Eq for Exception
impl Eq for ExecTxResult
impl Eq for ExtendVote
impl Eq for ExtendVote
impl Eq for ExtendedCommitInfo
impl Eq for ExtendedVoteInfo
impl Eq for FieldPresence
impl Eq for Fields
impl Eq for FinalizeBlock
impl Eq for FinalizeBlock
impl Eq for FormattedComponents
impl Eq for Hash
impl Eq for Header
impl Eq for Header
impl Eq for Height
impl Eq for Hour
impl Eq for Id
impl Eq for Id
impl Eq for Id
impl Eq for Id
impl Eq for IdempotencyLevel
impl Eq for Ignore
impl Eq for Info
impl Eq for Info
impl Eq for Info
impl Eq for Info
impl Eq for InfoRequest
impl Eq for InfoRequest
impl Eq for InfoRequest
impl Eq for InfoResponse
impl Eq for InfoResponse
impl Eq for InfoResponse
impl Eq for Infraction
impl Eq for InfractionType
impl Eq for InfractionType
impl Eq for InitChain
impl Eq for InitChain
impl Eq for InstanceType
impl Eq for Instant
impl Eq for IntegerOverflowSubdetail
impl Eq for InvalidAbciRequestTypeSubdetail
impl Eq for InvalidAbciResponseTypeSubdetail
impl Eq for InvalidAccountIdLengthSubdetail
impl Eq for InvalidAppHashLengthSubdetail
impl Eq for InvalidBlockSubdetail
impl Eq for InvalidBufferSize
impl Eq for InvalidEvidenceSubdetail
impl Eq for InvalidFirstHeaderSubdetail
impl Eq for InvalidFormatDescription
impl Eq for InvalidHashSizeSubdetail
impl Eq for InvalidKeySubdetail
impl Eq for InvalidLength
impl Eq for InvalidMessageTypeSubdetail
impl Eq for InvalidPartSetHeaderSubdetail
impl Eq for InvalidSignatureIdLengthSubdetail
impl Eq for InvalidSignatureSubdetail
impl Eq for InvalidSignedHeaderSubdetail
impl Eq for InvalidTimestampSubdetail
impl Eq for InvalidValidatorAddressSubdetail
impl Eq for InvalidValidatorParamsSubdetail
impl Eq for InvalidVariant
impl Eq for InvalidVersionParamsSubdetail
impl Eq for JsType
impl Eq for JsonFormat
impl Eq for Label
impl Eq for LengthSubdetail
impl Eq for LightClientAttackEvidence
impl Eq for List
impl Eq for ListSnapshots
impl Eq for ListenAddress
impl Eq for LoadSnapshotChunk
impl Eq for LoadSnapshotChunk
impl Eq for MempoolRequest
impl Eq for MempoolRequest
impl Eq for MempoolRequest
impl Eq for MempoolResponse
impl Eq for MempoolResponse
impl Eq for MempoolResponse
impl Eq for MessageEncoding
impl Eq for MetaForm
impl Eq for MetaType
impl Eq for Minute
impl Eq for Misbehavior
impl Eq for MisbehaviorKind
impl Eq for MisbehaviorType
impl Eq for MisbehaviorType
impl Eq for MissingConsensusParamsSubdetail
impl Eq for MissingDataSubdetail
impl Eq for MissingEvidenceSubdetail
impl Eq for MissingGenesisTimeSubdetail
impl Eq for MissingHeaderSubdetail
impl Eq for MissingLastCommitInfoSubdetail
impl Eq for MissingMaxAgeDurationSubdetail
impl Eq for MissingPublicKeySubdetail
impl Eq for MissingTimestampSubdetail
impl Eq for MissingValidatorSubdetail
impl Eq for MissingVersionSubdetail
impl Eq for Moniker
impl Eq for Month
impl Eq for Month
impl Eq for MonthRepr
impl Eq for NegativeHeightSubdetail
impl Eq for NegativeMaxAgeNumSubdetail
impl Eq for NegativePolRoundSubdetail
impl Eq for NegativePowerSubdetail
impl Eq for NegativeProofIndexSubdetail
impl Eq for NegativeProofTotalSubdetail
impl Eq for NegativeRoundSubdetail
impl Eq for NegativeValidatorIndexSubdetail
impl Eq for NoProposalFoundSubdetail
impl Eq for NoVoteFoundSubdetail
impl Eq for NonZeroTimestampSubdetail
impl Eq for OfferSnapshot
impl Eq for OfferSnapshot
impl Eq for OffsetDateTime
impl Eq for OffsetHour
impl Eq for OffsetMinute
impl Eq for OffsetPrecision
impl Eq for OffsetSecond
impl Eq for OptimizeMode
impl Eq for OptionBool
impl Eq for OptionRetention
impl Eq for OptionTargetType
impl Eq for OrderBy
impl Eq for Ordinal
impl Eq for OtherInfo
impl Eq for OwnedFormatItem
impl Eq for Padding
impl Eq for Params
impl Eq for Params
impl Eq for Parse
impl Eq for ParseAlphabetError
impl Eq for ParseFromDescription
impl Eq for ParseIntError
impl Eq for ParseIntSubdetail
impl Eq for ParseSubdetail
impl Eq for PathError
impl Eq for Period
impl Eq for PortableForm
impl Eq for PortableRegistry
impl Eq for PortableType
impl Eq for Power
impl Eq for PrepareProposal
impl Eq for PrepareProposal
impl Eq for PrimitiveDateTime
impl Eq for ProcessProposal
impl Eq for ProcessProposal
impl Eq for Proof
impl Eq for Proof
impl Eq for ProofOp
impl Eq for ProofOps
impl Eq for Proposal
impl Eq for ProposalStatus
impl Eq for ProposalStatus
impl Eq for ProposalStatus
impl Eq for ProposalStatus
impl Eq for ProposerNotFoundSubdetail
impl Eq for ProposerPriority
impl Eq for ProtocolSubdetail
impl Eq for ProtocolVersionInfo
impl Eq for PubKeyRequest
impl Eq for PubKeyResponse
impl Eq for PublicKey
impl Eq for Query
impl Eq for Query
impl Eq for Registry
impl Eq for RemoteSignerError
impl Eq for RepeatedFieldEncoding
impl Eq for Request
impl Eq for Request
impl Eq for Request
impl Eq for Response
impl Eq for Response
impl Eq for Response
impl Eq for Result
impl Eq for Result
impl Eq for Result
impl Eq for Result
impl Eq for Result
impl Eq for Result
impl Eq for Rfc2822
impl Eq for Rfc3339
impl Eq for Round
impl Eq for Second
impl Eq for Semantic
impl Eq for Set
impl Eq for SetOption
impl Eq for SetOption
impl Eq for SignMode
impl Eq for SignProposalRequest
impl Eq for SignVoteRequest
impl Eq for Signature
impl Eq for Signature
impl Eq for SignatureInvalidSubdetail
impl Eq for SignatureSubdetail
impl Eq for SignedHeader
impl Eq for SignedMsgType
impl Eq for SignedMsgType
impl Eq for SignedMsgType
impl Eq for SignedProposalResponse
impl Eq for SignedVoteResponse
impl Eq for SimpleValidator
impl Eq for Size
impl Eq for Snapshot
impl Eq for SnapshotRequest
impl Eq for SnapshotRequest
impl Eq for SnapshotRequest
impl Eq for SnapshotResponse
impl Eq for SnapshotResponse
impl Eq for SnapshotResponse
impl Eq for State
impl Eq for StringFieldValidation
impl Eq for Subsecond
impl Eq for SubsecondDigits
impl Eq for SubtleEncodingSubdetail
impl Eq for TendermintKey
impl Eq for Time
impl Eq for Time
impl Eq for TimeParseSubdetail
impl Eq for TimePrecision
impl Eq for Timeout
impl Eq for Timestamp
Implements the unstable/naive version of Eq
: a basic equality check on the internal fields of the Timestamp
.
This implies that normalized_ts != non_normalized_ts
even if normalized_ts == non_normalized_ts.normalized()
.
impl Eq for TimestampConversionSubdetail
impl Eq for TimestampNanosOutOfRangeSubdetail
impl Eq for TotalVotingPowerMismatchSubdetail
impl Eq for TotalVotingPowerOverflowSubdetail
impl Eq for TrustThresholdFraction
impl Eq for TrustThresholdTooLargeSubdetail
impl Eq for TrustThresholdTooSmallSubdetail
impl Eq for TryFromIntError
impl Eq for TryFromParsed
impl Eq for TryReserveError
impl Eq for TxIndexStatus
impl Eq for Type
impl Eq for Type
impl Eq for Type
impl Eq for Type
impl Eq for TypeDefPrimitive
impl Eq for UndefinedTrustThresholdSubdetail
impl Eq for UnixTimestamp
impl Eq for UnixTimestampPrecision
impl Eq for UnsupportedApplySnapshotChunkResultSubdetail
impl Eq for UnsupportedCheckTxTypeSubdetail
impl Eq for UnsupportedKeyTypeSubdetail
impl Eq for UnsupportedOfferSnapshotChunkResultSubdetail
impl Eq for UnsupportedProcessProposalStatusSubdetail
impl Eq for UnsupportedVerifyVoteExtensionStatusSubdetail
impl Eq for Update
impl Eq for UtcOffset
impl Eq for Validator
impl Eq for ValidatorIndex
impl Eq for ValidatorParams
impl Eq for VerificationKey
impl Eq for VerificationState
impl Eq for VerifyStatus
impl Eq for VerifyVoteExtension
impl Eq for VerifyVoteExtension
impl Eq for Version
impl Eq for Version
impl Eq for VersionParams
impl Eq for Vote
impl Eq for VoteInfo
impl Eq for VoteOption
impl Eq for VoteOption
impl Eq for WeekNumber
impl Eq for WeekNumberRepr
impl Eq for Weekday
impl Eq for Weekday
impl Eq for WeekdayRepr
impl Eq for Year
impl Eq for YearRepr
impl<'a> Eq for std::path::Component<'a>
impl<'a> Eq for Prefix<'a>
impl<'a> Eq for Location<'a>
impl<'a> Eq for PrefixComponent<'a>
impl<'a> Eq for Utf8Chunk<'a>
impl<'a> Eq for BorrowedFormatItem<'a>
impl<'a, T> Eq for CompactRef<'a, T>where
T: Eq,
impl<'a, T> Eq for Symbol<'a, T>where
T: Eq + 'a,
impl<A> Eq for &A
impl<A> Eq for &mut A
impl<B> Eq for Cow<'_, B>
impl<B, C> Eq for ControlFlow<B, C>
impl<Dyn> Eq for DynMetadata<Dyn>where
Dyn: ?Sized,
impl<F> Eq for Fwhere
F: FnPtr,
impl<H> Eq for BuildHasherDefault<H>
impl<Idx> Eq for Range<Idx>where
Idx: Eq,
impl<Idx> Eq for RangeFrom<Idx>where
Idx: Eq,
impl<Idx> Eq for RangeInclusive<Idx>where
Idx: Eq,
impl<Idx> Eq for RangeTo<Idx>where
Idx: Eq,
impl<Idx> Eq for RangeToInclusive<Idx>where
Idx: Eq,
impl<K, V, A> Eq for BTreeMap<K, V, A>
impl<K, V, S> Eq for std::collections::hash::map::HashMap<K, V, S>
impl<K, V, S, A> Eq for HashMap<K, V, S, A>
impl<P> Eq for Pin<P>
impl<T> Eq for Option<T>where
T: Eq,
impl<T> Eq for Bound<T>where
T: Eq,
impl<T> Eq for Poll<T>where
T: Eq,
impl<T> Eq for TrySendError<T>where
T: Eq,
impl<T> Eq for *const Twhere
T: ?Sized,
impl<T> Eq for *mut Twhere
T: ?Sized,
impl<T> Eq for [T]where
T: Eq,
impl<T> Eq for (T₁, T₂, …, Tₙ)
This trait is implemented for tuples up to twelve items long.