Trait std::cmp::PartialEqStable
[-]
[+]
[src]
pub trait PartialEq<Rhs = Self> {
fn eq(&self, other: &Rhs) -> bool;
fn ne(&self, other: &Rhs) -> bool { ... }
}Trait for equality comparisons which are partial equivalence relations.
This trait allows for partial equality, for types that do not have a full
equivalence relation. For example, in floating point numbers NaN != NaN,
so floating point types implement PartialEq but not Eq.
Formally, the equality must be (for all a, b and c):
- symmetric:
a == bimpliesb == a; and - transitive:
a == bandb == cimpliesa == c.
Note that these requirements mean that the trait itself must be
implemented symmetrically and transitively: if T: PartialEq<U>
and U: PartialEq<V> then U: PartialEq<T> and T:
PartialEq<V>.
PartialEq only requires the eq method to be implemented; ne is defined
in terms of it by default. Any manual implementation of ne must respect
the rule that eq is a strict inverse of ne; that is, !(a == b) if and
only if a != b.
Required Methods
fn eq(&self, other: &Rhs) -> bool
This method tests for self and other values to be equal, and is used by ==.
Provided Methods
Implementors
impl PartialEq<FpCategory> for FpCategoryimpl PartialEq<TypeId> for TypeIdimpl<T: Zeroable + PartialEq<T>> PartialEq<NonZero<T>> for NonZero<T>impl<T> PartialEq<*const T> for *const Timpl<T> PartialEq<*mut T> for *mut Timpl<_R> PartialEq< extern "C" fn() -> _R> for extern "C" fn() -> _Rimpl<_R, A> PartialEq< extern "C" fn(A) -> _R> for extern "C" fn(A) -> _Rimpl<_R, A, B> PartialEq< extern "C" fn(A, B) -> _R> for extern "C" fn(A, B) -> _Rimpl<_R, A, B, C> PartialEq< extern "C" fn(A, B, C) -> _R> for extern "C" fn(A, B, C) -> _Rimpl<_R, A, B, C, D> PartialEq< extern "C" fn(A, B, C, D) -> _R> for extern "C" fn(A, B, C, D) -> _Rimpl<_R, A, B, C, D, E> PartialEq< extern "C" fn(A, B, C, D, E) -> _R> for extern "C" fn(A, B, C, D, E) -> _Rimpl<T: PartialEq<T>> PartialEq<CovariantType<T>> for CovariantType<T>impl<T: PartialEq<T>> PartialEq<ContravariantType<T>> for ContravariantType<T>impl<T: PartialEq<T>> PartialEq<InvariantType<T>> for InvariantType<T>impl<'a> PartialEq<CovariantLifetime<'a>> for CovariantLifetime<'a>impl<'a> PartialEq<ContravariantLifetime<'a>> for ContravariantLifetime<'a>impl<'a> PartialEq<InvariantLifetime<'a>> for InvariantLifetime<'a>impl PartialEq<NoSend> for NoSendimpl PartialEq<NoCopy> for NoCopyimpl PartialEq<NoSync> for NoSyncimpl PartialEq<Managed> for Managedimpl PartialEq<Ordering> for Orderingimpl PartialEq<()> for ()impl PartialEq<bool> for boolimpl PartialEq<char> for charimpl PartialEq<uint> for uintimpl PartialEq<u8> for u8impl PartialEq<u16> for u16impl PartialEq<u32> for u32impl PartialEq<u64> for u64impl PartialEq<int> for intimpl PartialEq<i8> for i8impl PartialEq<i16> for i16impl PartialEq<i32> for i32impl PartialEq<i64> for i64impl PartialEq<f32> for f32impl PartialEq<f64> for f64impl<'a, 'b, A, B> PartialEq<&'b B> for &'a Aimpl<'a, 'b, A, B> PartialEq<&'b mut B> for &'a mut Aimpl<'a, 'b, A, B> PartialEq<&'b mut B> for &'a Aimpl<'a, 'b, A, B> PartialEq<&'b B> for &'a mut Aimpl<'a, 'b, T, U, B, C> PartialEq<Cow<'b, U, C>> for Cow<'a, T, B>impl<T: PartialEq<T>> PartialEq<Cell<T>> for Cell<T>impl<T: PartialEq<T>> PartialEq<RefCell<T>> for RefCell<T>impl<T: PartialEq<T>> PartialEq<MinMaxResult<T>> for MinMaxResult<T>impl<T: PartialEq<T>> PartialEq<Option<T>> for Option<T>impl<T: PartialEq<T>, E: PartialEq<E>> PartialEq<Result<T, E>> for Result<T, E>impl<A, B> PartialEq<[B]> for [A]impl PartialEq<Utf8Error> for Utf8Errorimpl PartialEq<str> for strimpl PartialEq<Binary> for Binaryimpl PartialEq<Octal> for Octalimpl PartialEq<Decimal> for Decimalimpl PartialEq<LowerHex> for LowerHeximpl PartialEq<UpperHex> for UpperHeximpl PartialEq<Radix> for Radiximpl PartialEq<Alignment> for Alignmentimpl<A: PartialEq<A>> PartialEq<(A,)> for (A,)impl<A: PartialEq<A>, B: PartialEq<B>> PartialEq<(A, B)> for (A, B)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>> PartialEq<(A, B, C)> for (A, B, C)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>> PartialEq<(A, B, C, D)> for (A, B, C, D)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>> PartialEq<(A, B, C, D, E)> for (A, B, C, D, E)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>> PartialEq<(A, B, C, D, E, F)> for (A, B, C, D, E, F)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>, G: PartialEq<G>> PartialEq<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>, G: PartialEq<G>, H: PartialEq<H>> PartialEq<(A, B, C, D, E, F, G, H)> for (A, B, C, D, E, F, G, H)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>, G: PartialEq<G>, H: PartialEq<H>, I: PartialEq<I>> PartialEq<(A, B, C, D, E, F, G, H, I)> for (A, B, C, D, E, F, G, H, I)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>, G: PartialEq<G>, H: PartialEq<H>, I: PartialEq<I>, J: PartialEq<J>> PartialEq<(A, B, C, D, E, F, G, H, I, J)> for (A, B, C, D, E, F, G, H, I, J)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>, G: PartialEq<G>, H: PartialEq<H>, I: PartialEq<I>, J: PartialEq<J>, K: PartialEq<K>> PartialEq<(A, B, C, D, E, F, G, H, I, J, K)> for (A, B, C, D, E, F, G, H, I, J, K)impl<A: PartialEq<A>, B: PartialEq<B>, C: PartialEq<C>, D: PartialEq<D>, E: PartialEq<E>, F: PartialEq<F>, G: PartialEq<G>, H: PartialEq<H>, I: PartialEq<I>, J: PartialEq<J>, K: PartialEq<K>, L: PartialEq<L>> PartialEq<(A, B, C, D, E, F, G, H, I, J, K, L)> for (A, B, C, D, E, F, G, H, I, J, K, L)impl<A, B> PartialEq<[B, ..0]> for [A, ..0]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..0]impl<'a, A, B, Lhs> PartialEq<[B, ..0]> for Lhsimpl<A, B> PartialEq<[B, ..1]> for [A, ..1]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..1]impl<'a, A, B, Lhs> PartialEq<[B, ..1]> for Lhsimpl<A, B> PartialEq<[B, ..2]> for [A, ..2]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..2]impl<'a, A, B, Lhs> PartialEq<[B, ..2]> for Lhsimpl<A, B> PartialEq<[B, ..3]> for [A, ..3]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..3]impl<'a, A, B, Lhs> PartialEq<[B, ..3]> for Lhsimpl<A, B> PartialEq<[B, ..4]> for [A, ..4]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..4]impl<'a, A, B, Lhs> PartialEq<[B, ..4]> for Lhsimpl<A, B> PartialEq<[B, ..5]> for [A, ..5]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..5]impl<'a, A, B, Lhs> PartialEq<[B, ..5]> for Lhsimpl<A, B> PartialEq<[B, ..6]> for [A, ..6]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..6]impl<'a, A, B, Lhs> PartialEq<[B, ..6]> for Lhsimpl<A, B> PartialEq<[B, ..7]> for [A, ..7]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..7]impl<'a, A, B, Lhs> PartialEq<[B, ..7]> for Lhsimpl<A, B> PartialEq<[B, ..8]> for [A, ..8]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..8]impl<'a, A, B, Lhs> PartialEq<[B, ..8]> for Lhsimpl<A, B> PartialEq<[B, ..9]> for [A, ..9]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..9]impl<'a, A, B, Lhs> PartialEq<[B, ..9]> for Lhsimpl<A, B> PartialEq<[B, ..10]> for [A, ..10]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..10]impl<'a, A, B, Lhs> PartialEq<[B, ..10]> for Lhsimpl<A, B> PartialEq<[B, ..11]> for [A, ..11]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..11]impl<'a, A, B, Lhs> PartialEq<[B, ..11]> for Lhsimpl<A, B> PartialEq<[B, ..12]> for [A, ..12]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..12]impl<'a, A, B, Lhs> PartialEq<[B, ..12]> for Lhsimpl<A, B> PartialEq<[B, ..13]> for [A, ..13]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..13]impl<'a, A, B, Lhs> PartialEq<[B, ..13]> for Lhsimpl<A, B> PartialEq<[B, ..14]> for [A, ..14]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..14]impl<'a, A, B, Lhs> PartialEq<[B, ..14]> for Lhsimpl<A, B> PartialEq<[B, ..15]> for [A, ..15]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..15]impl<'a, A, B, Lhs> PartialEq<[B, ..15]> for Lhsimpl<A, B> PartialEq<[B, ..16]> for [A, ..16]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..16]impl<'a, A, B, Lhs> PartialEq<[B, ..16]> for Lhsimpl<A, B> PartialEq<[B, ..17]> for [A, ..17]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..17]impl<'a, A, B, Lhs> PartialEq<[B, ..17]> for Lhsimpl<A, B> PartialEq<[B, ..18]> for [A, ..18]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..18]impl<'a, A, B, Lhs> PartialEq<[B, ..18]> for Lhsimpl<A, B> PartialEq<[B, ..19]> for [A, ..19]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..19]impl<'a, A, B, Lhs> PartialEq<[B, ..19]> for Lhsimpl<A, B> PartialEq<[B, ..20]> for [A, ..20]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..20]impl<'a, A, B, Lhs> PartialEq<[B, ..20]> for Lhsimpl<A, B> PartialEq<[B, ..21]> for [A, ..21]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..21]impl<'a, A, B, Lhs> PartialEq<[B, ..21]> for Lhsimpl<A, B> PartialEq<[B, ..22]> for [A, ..22]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..22]impl<'a, A, B, Lhs> PartialEq<[B, ..22]> for Lhsimpl<A, B> PartialEq<[B, ..23]> for [A, ..23]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..23]impl<'a, A, B, Lhs> PartialEq<[B, ..23]> for Lhsimpl<A, B> PartialEq<[B, ..24]> for [A, ..24]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..24]impl<'a, A, B, Lhs> PartialEq<[B, ..24]> for Lhsimpl<A, B> PartialEq<[B, ..25]> for [A, ..25]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..25]impl<'a, A, B, Lhs> PartialEq<[B, ..25]> for Lhsimpl<A, B> PartialEq<[B, ..26]> for [A, ..26]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..26]impl<'a, A, B, Lhs> PartialEq<[B, ..26]> for Lhsimpl<A, B> PartialEq<[B, ..27]> for [A, ..27]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..27]impl<'a, A, B, Lhs> PartialEq<[B, ..27]> for Lhsimpl<A, B> PartialEq<[B, ..28]> for [A, ..28]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..28]impl<'a, A, B, Lhs> PartialEq<[B, ..28]> for Lhsimpl<A, B> PartialEq<[B, ..29]> for [A, ..29]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..29]impl<'a, A, B, Lhs> PartialEq<[B, ..29]> for Lhsimpl<A, B> PartialEq<[B, ..30]> for [A, ..30]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..30]impl<'a, A, B, Lhs> PartialEq<[B, ..30]> for Lhsimpl<A, B> PartialEq<[B, ..31]> for [A, ..31]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..31]impl<'a, A, B, Lhs> PartialEq<[B, ..31]> for Lhsimpl<A, B> PartialEq<[B, ..32]> for [A, ..32]impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..32]impl<'a, A, B, Lhs> PartialEq<[B, ..32]> for Lhsimpl PartialEq for CStringimpl PartialEq for IpAddrimpl PartialEq for SocketAddrimpl PartialEq for ProcessOutputimpl PartialEq for ProcessExitimpl PartialEq for IoErrorimpl PartialEq for IoErrorKindimpl PartialEq for FileModeimpl PartialEq for FileAccessimpl PartialEq for FileTypeimpl PartialEq for FilePermissionimpl PartialEq for Pathimpl PartialEq for Pathimpl PartialEq for PathPrefiximpl PartialEq for Durationimpl<K: Eq + Hash<S>, V: PartialEq, S, H: Hasher<S>> PartialEq for HashMap<K, V, H>impl<T: Eq + Hash<S>, S, H: Hasher<S>> PartialEq for HashSet<T, H>impl<K: Eq + Hash<S>, V: PartialEq, S, H: Hasher<S>> PartialEq for HashMap<K, V, H>impl<T: Eq + Hash<S>, S, H: Hasher<S>> PartialEq for HashSet<T, H>impl PartialEq<Bitv> for Bitvimpl PartialEq<BitvSet> for BitvSetimpl<K: PartialEq<K>, V: PartialEq<V>> PartialEq<BTreeMap<K, V>> for BTreeMap<K, V>impl<T: PartialEq<T>> PartialEq<BTreeSet<T>> for BTreeSet<T>impl<A: PartialEq<A>> PartialEq<DList<A>> for DList<A>impl<E: PartialEq<E>> PartialEq<EnumSet<E>> for EnumSet<E>impl<A: PartialEq<A>> PartialEq<RingBuf<A>> for RingBuf<A>impl<'a> PartialEq<MaybeOwned<'a>> for MaybeOwned<'a>impl PartialEq<String> for Stringimpl<'a> PartialEq<&'a str> for Stringimpl<'a> PartialEq<String> for &'a strimpl<'a> PartialEq<String> for Cow<'a, String, str>impl<'a> PartialEq<Cow<'a, String, str>> for Stringimpl<'a, 'b> PartialEq<&'b str> for Cow<'a, String, str>impl<'a, 'b> PartialEq<Cow<'a, String, str>> for &'b strimpl<A, B> PartialEq<Vec<B>> for Vec<A>impl<'b, A, B> PartialEq<&'b [B]> for Vec<A>impl<'b, A, B> PartialEq<Vec<A>> for &'b [B]impl<'b, A, B> PartialEq<&'b mut [B]> for Vec<A>impl<'b, A, B> PartialEq<Vec<A>> for &'b mut [B]impl<'a, A, B> PartialEq<Vec<B>> for Cow<'a, Vec<A>, [A]>impl<'a, A, B> PartialEq<Cow<'a, Vec<A>, [A]>> for Vec<B>impl<'a, 'b, A, B> PartialEq<&'b [B]> for Cow<'a, Vec<A>, [A]>impl<'a, 'b, A, B> PartialEq<Cow<'a, Vec<A>, [A]>> for &'b [B]impl<'a, 'b, A, B> PartialEq<&'b mut [B]> for Cow<'a, Vec<A>, [A]>impl<'a, 'b, A, B> PartialEq<Cow<'a, Vec<A>, [A]>> for &'b mut [B]impl<V: PartialEq<V>> PartialEq<VecMap<V>> for VecMap<V>impl<T: PartialEq<T>> PartialEq<Box<T>> for Box<T>impl<T: PartialEq<T>> PartialEq<Arc<T>> for Arc<T>impl<T: PartialEq<T>> PartialEq<Rc<T>> for Rc<T>impl PartialEq for TryRecvErrorimpl<T: PartialEq> PartialEq for TrySendError<T>impl PartialEq<GraphemeState> for GraphemeStateimpl PartialEq<Utf16Item> for Utf16Item