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 == b
impliesb == a
; and - transitive:
a == b
andb == c
impliesa == 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 FpCategory
impl PartialEq<TypeId> for TypeId
impl<T: Zeroable + PartialEq<T>> PartialEq<NonZero<T>> for NonZero<T>
impl<T> PartialEq<*const T> for *const T
impl<T> PartialEq<*mut T> for *mut T
impl<_R> PartialEq< extern "C" fn() -> _R> for extern "C" fn() -> _R
impl<_R, A> PartialEq< extern "C" fn(A) -> _R> for extern "C" fn(A) -> _R
impl<_R, A, B> PartialEq< extern "C" fn(A, B) -> _R> for extern "C" fn(A, B) -> _R
impl<_R, A, B, C> PartialEq< extern "C" fn(A, B, C) -> _R> for extern "C" fn(A, B, C) -> _R
impl<_R, A, B, C, D> PartialEq< extern "C" fn(A, B, C, D) -> _R> for extern "C" fn(A, B, C, D) -> _R
impl<_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) -> _R
impl<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 NoSend
impl PartialEq<NoCopy> for NoCopy
impl PartialEq<NoSync> for NoSync
impl PartialEq<Managed> for Managed
impl PartialEq<Ordering> for Ordering
impl PartialEq<()> for ()
impl PartialEq<bool> for bool
impl PartialEq<char> for char
impl PartialEq<uint> for uint
impl PartialEq<u8> for u8
impl PartialEq<u16> for u16
impl PartialEq<u32> for u32
impl PartialEq<u64> for u64
impl PartialEq<int> for int
impl PartialEq<i8> for i8
impl PartialEq<i16> for i16
impl PartialEq<i32> for i32
impl PartialEq<i64> for i64
impl PartialEq<f32> for f32
impl PartialEq<f64> for f64
impl<'a, 'b, A, B> PartialEq<&'b B> for &'a A
impl<'a, 'b, A, B> PartialEq<&'b mut B> for &'a mut A
impl<'a, 'b, A, B> PartialEq<&'b mut B> for &'a A
impl<'a, 'b, A, B> PartialEq<&'b B> for &'a mut A
impl<'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 Utf8Error
impl PartialEq<str> for str
impl PartialEq<Binary> for Binary
impl PartialEq<Octal> for Octal
impl PartialEq<Decimal> for Decimal
impl PartialEq<LowerHex> for LowerHex
impl PartialEq<UpperHex> for UpperHex
impl PartialEq<Radix> for Radix
impl PartialEq<Alignment> for Alignment
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl<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 Lhs
impl PartialEq for CString
impl PartialEq for IpAddr
impl PartialEq for SocketAddr
impl PartialEq for ProcessOutput
impl PartialEq for ProcessExit
impl PartialEq for IoError
impl PartialEq for IoErrorKind
impl PartialEq for FileMode
impl PartialEq for FileAccess
impl PartialEq for FileType
impl PartialEq for FilePermission
impl PartialEq for Path
impl PartialEq for Path
impl PartialEq for PathPrefix
impl PartialEq for Duration
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<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 Bitv
impl PartialEq<BitvSet> for BitvSet
impl<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 String
impl<'a> PartialEq<&'a str> for String
impl<'a> PartialEq<String> for &'a str
impl<'a> PartialEq<String> for Cow<'a, String, str>
impl<'a> PartialEq<Cow<'a, String, str>> for String
impl<'a, 'b> PartialEq<&'b str> for Cow<'a, String, str>
impl<'a, 'b> PartialEq<Cow<'a, String, str>> for &'b str
impl<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 TryRecvError
impl<T: PartialEq> PartialEq for TrySendError<T>
impl PartialEq<GraphemeState> for GraphemeState
impl PartialEq<Utf16Item> for Utf16Item