Trait std::cmp::Eq 1.0.0[−][src]
pub trait Eq: PartialEq<Self> { }
Trait for equality comparisons which are equivalence relations.
This means, that in addition to a == b and a != b being strict inverses, the equality must
be (for all a, b and c):
- reflexive:
a == a; - symmetric:
a == bimpliesb == a; and - transitive:
a == bandb == cimpliesa == c.
This property cannot be checked by the compiler, and therefore Eq implies
PartialEq, and has no extra methods.
Derivable
This trait can be used with #[derive]. When derived, 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 {}Run
Implementations on Foreign Types
impl<'a> Eq for Utf8LossyChunk<'a>[src]
impl<'a> Eq for Utf8LossyChunk<'a>[src]impl Eq for CpuidResult[src]
impl Eq for CpuidResult[src]Implementors
impl Eq for BacktraceStatus[src]
impl Eq for BacktraceStatus[src]impl Eq for TryReserveError[src]
impl Eq for TryReserveError[src]impl Eq for Infallible1.34.0[src]
impl Eq for Infallible1.34.0[src]impl Eq for Ipv6MulticastScope[src]
impl Eq for Ipv6MulticastScope[src]impl Eq for SocketAddr[src]
impl Eq for SocketAddr[src]impl Eq for FpCategory[src]
impl Eq for FpCategory[src]impl Eq for IntErrorKind[src]
impl Eq for IntErrorKind[src]impl Eq for SearchStep[src]
impl Eq for SearchStep[src]impl Eq for RecvTimeoutError1.12.0[src]
impl Eq for RecvTimeoutError1.12.0[src]impl Eq for TryRecvError[src]
impl Eq for TryRecvError[src]impl Eq for AllocError[src]
impl Eq for AllocError[src]impl Eq for LayoutError1.50.0[src]
impl Eq for LayoutError1.50.0[src]impl Eq for CharTryFromError1.34.0[src]
impl Eq for CharTryFromError1.34.0[src]impl Eq for DecodeUtf16Error1.9.0[src]
impl Eq for DecodeUtf16Error1.9.0[src]impl Eq for ParseCharError1.20.0[src]
impl Eq for ParseCharError1.20.0[src]impl Eq for FromBytesWithNulError1.10.0[src]
impl Eq for FromBytesWithNulError1.10.0[src]impl Eq for FromVecWithNulError[src]
impl Eq for FromVecWithNulError[src]impl Eq for IntoStringError1.7.0[src]
impl Eq for IntoStringError1.7.0[src]impl Eq for Permissions[src]
impl Eq for Permissions[src]impl Eq for PhantomPinned1.33.0[src]
impl Eq for PhantomPinned1.33.0[src]impl Eq for AddrParseError[src]
impl Eq for AddrParseError[src]impl Eq for SocketAddrV4[src]
impl Eq for SocketAddrV4[src]impl Eq for SocketAddrV6[src]
impl Eq for SocketAddrV6[src]impl Eq for NonZeroI161.34.0[src]
impl Eq for NonZeroI161.34.0[src]impl Eq for NonZeroI321.34.0[src]
impl Eq for NonZeroI321.34.0[src]impl Eq for NonZeroI641.34.0[src]
impl Eq for NonZeroI641.34.0[src]impl Eq for NonZeroI1281.34.0[src]
impl Eq for NonZeroI1281.34.0[src]impl Eq for NonZeroIsize1.34.0[src]
impl Eq for NonZeroIsize1.34.0[src]impl Eq for NonZeroU161.28.0[src]
impl Eq for NonZeroU161.28.0[src]impl Eq for NonZeroU321.28.0[src]
impl Eq for NonZeroU321.28.0[src]impl Eq for NonZeroU641.28.0[src]
impl Eq for NonZeroU641.28.0[src]impl Eq for NonZeroU1281.28.0[src]
impl Eq for NonZeroU1281.28.0[src]impl Eq for NonZeroUsize1.28.0[src]
impl Eq for NonZeroUsize1.28.0[src]impl Eq for ParseFloatError[src]
impl Eq for ParseFloatError[src]impl Eq for ParseIntError[src]
impl Eq for ParseIntError[src]impl Eq for TryFromIntError1.34.0[src]
impl Eq for TryFromIntError1.34.0[src]impl Eq for Components<'_>[src]
impl Eq for Components<'_>[src]impl Eq for StripPrefixError1.7.0[src]
impl Eq for StripPrefixError1.7.0[src]impl Eq for ExitStatus[src]
impl Eq for ExitStatus[src]impl Eq for ParseBoolError[src]
impl Eq for ParseBoolError[src]impl Eq for FromUtf8Error[src]
impl Eq for FromUtf8Error[src]impl Eq for WaitTimeoutResult1.5.0[src]
impl Eq for WaitTimeoutResult1.5.0[src]impl Eq for AccessError1.26.0[src]
impl Eq for AccessError1.26.0[src]impl Eq for SystemTime1.8.0[src]
impl Eq for SystemTime1.8.0[src]impl<'a> Eq for PrefixComponent<'a>[src]
impl<'a> Eq for PrefixComponent<'a>[src]impl<A, B, C, D, E, F> Eq for (A, B, C, D, E, F) where
C: Eq,
F: Eq + ?Sized,
E: Eq,
B: Eq,
A: Eq,
D: Eq, [src]
impl<A, B, C, D, E, F> Eq for (A, B, C, D, E, F) where
C: Eq,
F: Eq + ?Sized,
E: Eq,
B: Eq,
A: Eq,
D: Eq, [src]impl<A, B, C, D, E, F, G> Eq for (A, B, C, D, E, F, G) where
C: Eq,
F: Eq,
E: Eq,
B: Eq,
A: Eq,
G: Eq + ?Sized,
D: Eq, [src]
impl<A, B, C, D, E, F, G> Eq for (A, B, C, D, E, F, G) where
C: Eq,
F: Eq,
E: Eq,
B: Eq,
A: Eq,
G: Eq + ?Sized,
D: Eq, [src]impl<A, B, C, D, E, F, G, H> Eq for (A, B, C, D, E, F, G, H) where
C: Eq,
F: Eq,
E: Eq,
H: Eq + ?Sized,
B: Eq,
A: Eq,
G: Eq,
D: Eq, [src]
impl<A, B, C, D, E, F, G, H> Eq for (A, B, C, D, E, F, G, H) where
C: Eq,
F: Eq,
E: Eq,
H: Eq + ?Sized,
B: Eq,
A: Eq,
G: Eq,
D: Eq, [src]impl<A, B, C, D, E, F, G, H, I> Eq for (A, B, C, D, E, F, G, H, I) where
C: Eq,
F: Eq,
I: Eq + ?Sized,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
G: Eq,
D: Eq, [src]
impl<A, B, C, D, E, F, G, H, I> Eq for (A, B, C, D, E, F, G, H, I) where
C: Eq,
F: Eq,
I: Eq + ?Sized,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
G: Eq,
D: Eq, [src]impl<A, B, C, D, E, F, G, H, I, J> Eq for (A, B, C, D, E, F, G, H, I, J) where
C: Eq,
F: Eq,
I: Eq,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
J: Eq + ?Sized,
G: Eq,
D: Eq, [src]
impl<A, B, C, D, E, F, G, H, I, J> Eq for (A, B, C, D, E, F, G, H, I, J) where
C: Eq,
F: Eq,
I: Eq,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
J: Eq + ?Sized,
G: Eq,
D: Eq, [src]impl<A, B, C, D, E, F, G, H, I, J, K> Eq for (A, B, C, D, E, F, G, H, I, J, K) where
C: Eq,
F: Eq,
K: Eq + ?Sized,
I: Eq,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
J: Eq,
G: Eq,
D: Eq, [src]
impl<A, B, C, D, E, F, G, H, I, J, K> Eq for (A, B, C, D, E, F, G, H, I, J, K) where
C: Eq,
F: Eq,
K: Eq + ?Sized,
I: Eq,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
J: Eq,
G: Eq,
D: Eq, [src]impl<A, B, C, D, E, F, G, H, I, J, K, L> Eq for (A, B, C, D, E, F, G, H, I, J, K, L) where
C: Eq,
F: Eq,
K: Eq,
I: Eq,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
J: Eq,
G: Eq,
D: Eq,
L: Eq + ?Sized, [src]
impl<A, B, C, D, E, F, G, H, I, J, K, L> Eq for (A, B, C, D, E, F, G, H, I, J, K, L) where
C: Eq,
F: Eq,
K: Eq,
I: Eq,
E: Eq,
H: Eq,
B: Eq,
A: Eq,
J: Eq,
G: Eq,
D: Eq,
L: Eq + ?Sized, [src]impl<Dyn> Eq for DynMetadata<Dyn> where
Dyn: ?Sized, [src]
impl<Dyn> Eq for DynMetadata<Dyn> where
Dyn: ?Sized, [src]impl<H> Eq for BuildHasherDefault<H>1.29.0[src]
impl<H> Eq for BuildHasherDefault<H>1.29.0[src]impl<Idx> Eq for RangeInclusive<Idx> where
Idx: Eq, 1.26.0[src]
impl<Idx> Eq for RangeInclusive<Idx> where
Idx: Eq, 1.26.0[src]impl<Idx> Eq for RangeToInclusive<Idx> where
Idx: Eq, 1.26.0[src]
impl<Idx> Eq for RangeToInclusive<Idx> where
Idx: Eq, 1.26.0[src]impl<Ret, A, B, C, D, E, F, G> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H> Eq for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H> Eq for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret1.4.0[src]impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret1.4.0[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Eq for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret1.4.0[src]impl<T> Eq for LinkedList<T> where
T: Eq, [src]
impl<T> Eq for LinkedList<T> where
T: Eq, [src]impl<T> Eq for PhantomData<T> where
T: ?Sized, [src]
impl<T> Eq for PhantomData<T> where
T: ?Sized, [src]impl<T> Eq for Discriminant<T>1.21.0[src]
impl<T> Eq for Discriminant<T>1.21.0[src]impl<T> Eq for ManuallyDrop<T> where
T: Eq + ?Sized, 1.20.0[src]
impl<T> Eq for ManuallyDrop<T> where
T: Eq + ?Sized, 1.20.0[src]impl<T: Eq> Eq for TrySendError<T>[src]
impl<T: Eq> Eq for TrySendError<T>[src]impl<T: Eq> Eq for SyncOnceCell<T>[src]
impl<T: Eq> Eq for SyncOnceCell<T>[src]impl<Y, R> Eq for GeneratorState<Y, R> where
R: Eq,
Y: Eq, [src]
impl<Y, R> Eq for GeneratorState<Y, R> where
R: Eq,
Y: Eq, [src]