1.0.0[][src]Trait core::cmp::PartialEq

#[lang = "eq"]
pub trait PartialEq<Rhs: ?Sized = Self> {
#[must_use]
    fn eq(&self, other: &Rhs) -> bool;

#[must_use]
    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):

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>.

Derivable

This trait can be used with #[derive]. When derived on structs, two instances are equal if all fields are equal, and not equal if any fields are not equal. When derived on enums, each variant is equal to itself and not equal to the other variants.

How can I implement PartialEq?

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.

Implementations of PartialEq, PartialOrd, and Ord must agree with each other. It's easy to accidentally make them disagree by deriving some of the traits and manually implementing others.

An example implementation for a domain in which two books are considered the same book if their ISBN matches, even if the formats differ:

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
    }
}

let b1 = Book { isbn: 3, format: BookFormat::Paperback };
let b2 = Book { isbn: 3, format: BookFormat::Ebook };
let b3 = Book { isbn: 10, format: BookFormat::Paperback };

assert!(b1 == b2);
assert!(b1 != b3);Run

How can I compare two different types?

The type you can compare with is controlled by PartialEq's type parameter. For example, let's tweak our previous code a bit:

// The derive implements <BookFormat> == <BookFormat> comparisons
#[derive(PartialEq)]
enum BookFormat {
    Paperback,
    Hardback,
    Ebook,
}

struct Book {
    isbn: i32,
    format: BookFormat,
}

// Implement <Book> == <BookFormat> comparisons
impl PartialEq<BookFormat> for Book {
    fn eq(&self, other: &BookFormat) -> bool {
        self.format == *other
    }
}

// Implement <BookFormat> == <Book> comparisons
impl PartialEq<Book> for BookFormat {
    fn eq(&self, other: &Book) -> bool {
        *self == other.format
    }
}

let b1 = Book { isbn: 3, format: BookFormat::Paperback };

assert!(b1 == BookFormat::Paperback);
assert!(BookFormat::Ebook != b1);Run

By changing impl PartialEq for Book to impl PartialEq<BookFormat> for Book, we allow BookFormats to be compared with Books.

You can also combine these implementations to let the == operator work with two different types:

#[derive(PartialEq)]
enum BookFormat {
    Paperback,
    Hardback,
    Ebook,
}

struct Book {
    isbn: i32,
    format: BookFormat,
}

impl PartialEq<BookFormat> for Book {
    fn eq(&self, other: &BookFormat) -> bool {
        self.format == *other
    }
}

impl PartialEq<Book> for BookFormat {
    fn eq(&self, other: &Book) -> bool {
        *self == other.format
    }
}

impl PartialEq for Book {
    fn eq(&self, other: &Book) -> bool {
        self.isbn == other.isbn
    }
}

let b1 = Book { isbn: 3, format: BookFormat::Paperback };
let b2 = Book { isbn: 3, format: BookFormat::Ebook };

assert!(b1 == BookFormat::Paperback);
assert!(BookFormat::Ebook != b1);
assert!(b1 == b2);Run

Examples

let x: u32 = 0;
let y: u32 = 1;

assert_eq!(x == y, false);
assert_eq!(x.eq(&y), false);Run

Required methods

#[must_use] fn eq(&self, other: &Rhs) -> bool

This method tests for self and other values to be equal, and is used by ==.

Loading content...

Provided methods

#[must_use] fn ne(&self, other: &Rhs) -> bool

This method tests for !=.

Loading content...

Implementors

impl PartialEq<!> for ![src]

impl PartialEq<()> for ()[src]

impl PartialEq<Ordering> for core::cmp::Ordering[src]

impl PartialEq<Infallible> for Infallible[src]

impl PartialEq<FpCategory> for FpCategory[src]

impl PartialEq<IntErrorKind> for IntErrorKind[src]

impl PartialEq<SearchStep> for SearchStep[src]

impl PartialEq<Ordering> for core::sync::atomic::Ordering[src]

impl PartialEq<AllocErr> for AllocErr[src]

impl PartialEq<CannotReallocInPlace> for CannotReallocInPlace[src]

impl PartialEq<Layout> for Layout[src]

impl PartialEq<LayoutErr> for LayoutErr[src]

impl PartialEq<TypeId> for TypeId[src]

impl PartialEq<CpuidResult> for CpuidResult[src]

impl PartialEq<CharTryFromError> for CharTryFromError[src]

impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error[src]

impl PartialEq<ParseCharError> for ParseCharError[src]

impl PartialEq<UnicodeVersion> for UnicodeVersion[src]

impl PartialEq<Error> for Error[src]

impl PartialEq<PhantomPinned> for PhantomPinned[src]

impl PartialEq<NonZeroI128> for NonZeroI128[src]

impl PartialEq<NonZeroI16> for NonZeroI16[src]

impl PartialEq<NonZeroI32> for NonZeroI32[src]

impl PartialEq<NonZeroI64> for NonZeroI64[src]

impl PartialEq<NonZeroI8> for NonZeroI8[src]

impl PartialEq<NonZeroIsize> for NonZeroIsize[src]

impl PartialEq<NonZeroU128> for NonZeroU128[src]

impl PartialEq<NonZeroU16> for NonZeroU16[src]

impl PartialEq<NonZeroU32> for NonZeroU32[src]

impl PartialEq<NonZeroU64> for NonZeroU64[src]

impl PartialEq<NonZeroU8> for NonZeroU8[src]

impl PartialEq<NonZeroUsize> for NonZeroUsize[src]

impl PartialEq<ParseFloatError> for ParseFloatError[src]

impl PartialEq<ParseIntError> for ParseIntError[src]

impl PartialEq<TryFromIntError> for TryFromIntError[src]

impl PartialEq<RangeFull> for RangeFull[src]

impl PartialEq<NoneError> for NoneError[src]

impl PartialEq<ParseBoolError> for ParseBoolError[src]

impl PartialEq<Utf8Error> for Utf8Error[src]

impl PartialEq<RawWaker> for RawWaker[src]

impl PartialEq<RawWakerVTable> for RawWakerVTable[src]

impl PartialEq<Duration> for Duration[src]

impl PartialEq<bool> for bool[src]

impl PartialEq<char> for char[src]

impl PartialEq<f32> for f32[src]

impl PartialEq<f64> for f64[src]

impl PartialEq<i128> for i128[src]

impl PartialEq<i16> for i16[src]

impl PartialEq<i32> for i32[src]

impl PartialEq<i64> for i64[src]

impl PartialEq<i8> for i8[src]

impl PartialEq<isize> for isize[src]

impl PartialEq<str> for str[src]

impl PartialEq<u128> for u128[src]

impl PartialEq<u16> for u16[src]

impl PartialEq<u32> for u32[src]

impl PartialEq<u64> for u64[src]

impl PartialEq<u8> for u8[src]

impl PartialEq<usize> for usize[src]

impl<'_, '_, A: ?Sized, B: ?Sized> PartialEq<&'_ B> for &'_ A where
    A: PartialEq<B>, 
[src]

impl<'_, '_, A: ?Sized, B: ?Sized> PartialEq<&'_ B> for &'_ mut A where
    A: PartialEq<B>, 
[src]

impl<'_, '_, A: ?Sized, B: ?Sized> PartialEq<&'_ mut B> for &'_ A where
    A: PartialEq<B>, 
[src]

impl<'_, '_, A: ?Sized, B: ?Sized> PartialEq<&'_ mut B> for &'_ mut A where
    A: PartialEq<B>, 
[src]

impl<'a> PartialEq<Utf8LossyChunk<'a>> for Utf8LossyChunk<'a>[src]

impl<'b, A, B, const N: usize> PartialEq<&'b [B]> for [A; N] where
    A: PartialEq<B>,
    [A; N]: LengthAtMost32
[src]

impl<'b, A, B, const N: usize> PartialEq<&'b mut [B]> for [A; N] where
    A: PartialEq<B>,
    [A; N]: LengthAtMost32
[src]

impl<'b, A, B, const N: usize> PartialEq<[A; N]> for &'b [B] where
    B: PartialEq<A>,
    [A; N]: LengthAtMost32
[src]

impl<'b, A, B, const N: usize> PartialEq<[A; N]> for &'b mut [B] where
    B: PartialEq<A>,
    [A; N]: LengthAtMost32
[src]

impl<A> PartialEq<(A,)> for (A,) where
    A: PartialEq + ?Sized
[src]

impl<A, B> PartialEq<[B]> for [A] where
    A: PartialEq<B>, 
[src]

impl<A, B, const N: usize> PartialEq<[A; N]> for [B] where
    B: PartialEq<A>,
    [A; N]: LengthAtMost32
[src]

impl<A, B, const N: usize> PartialEq<[B; N]> for [A; N] where
    A: PartialEq<B>,
    [A; N]: LengthAtMost32,
    [B; N]: LengthAtMost32
[src]

impl<A, B, const N: usize> PartialEq<[B]> for [A; N] where
    A: PartialEq<B>,
    [A; N]: LengthAtMost32
[src]

impl<A: PartialEq, B> PartialEq<(A, B)> for (A, B) where
    B: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C> PartialEq<(A, B, C)> for (A, B, C) where
    C: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D> PartialEq<(A, B, C, D)> for (A, B, C, D) where
    D: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E> PartialEq<(A, B, C, D, E)> for (A, B, C, D, E) where
    E: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F> PartialEq<(A, B, C, D, E, F)> for (A, B, C, D, E, F) where
    F: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F: PartialEq, G> PartialEq<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G) where
    G: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F: PartialEq, G: PartialEq, H> PartialEq<(A, B, C, D, E, F, G, H)> for (A, B, C, D, E, F, G, H) where
    H: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F: PartialEq, G: PartialEq, H: PartialEq, I> PartialEq<(A, B, C, D, E, F, G, H, I)> for (A, B, C, D, E, F, G, H, I) where
    I: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F: PartialEq, G: PartialEq, H: PartialEq, I: PartialEq, J> PartialEq<(A, B, C, D, E, F, G, H, I, J)> for (A, B, C, D, E, F, G, H, I, J) where
    J: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F: PartialEq, G: PartialEq, H: PartialEq, I: PartialEq, J: 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) where
    K: PartialEq + ?Sized
[src]

impl<A: PartialEq, B: PartialEq, C: PartialEq, D: PartialEq, E: PartialEq, F: PartialEq, G: PartialEq, H: PartialEq, I: PartialEq, J: PartialEq, K: 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) where
    L: PartialEq + ?Sized
[src]

impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>[src]

impl<Idx: PartialEq> PartialEq<Range<Idx>> for Range<Idx>[src]

impl<Idx: PartialEq> PartialEq<RangeFrom<Idx>> for RangeFrom<Idx>[src]

impl<Idx: PartialEq> PartialEq<RangeInclusive<Idx>> for RangeInclusive<Idx>[src]

impl<Idx: PartialEq> PartialEq<RangeTo<Idx>> for RangeTo<Idx>[src]

impl<Idx: PartialEq> PartialEq<RangeToInclusive<Idx>> for RangeToInclusive<Idx>[src]

impl<P, Q> PartialEq<Pin<Q>> for Pin<P> where
    P: PartialEq<Q>, 
[src]

impl<Ret> PartialEq<extern "C" fn() -> Ret> for extern "C" fn() -> Ret[src]

impl<Ret> PartialEq<fn() -> Ret> for fn() -> Ret[src]

impl<Ret> PartialEq<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Ret[src]

impl<Ret> PartialEq<unsafe fn() -> Ret> for unsafe fn() -> Ret[src]

impl<Ret, A> PartialEq<extern "C" fn(A) -> Ret> for extern "C" fn(_: A) -> Ret[src]

impl<Ret, A> PartialEq<extern "C" fn(A, VaListImpl) -> Ret> for extern "C" fn(_: A, _: ...) -> Ret[src]

impl<Ret, A> PartialEq<fn(A) -> Ret> for fn(_: A) -> Ret[src]

impl<Ret, A> PartialEq<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(_: A) -> Ret[src]

impl<Ret, A> PartialEq<unsafe extern "C" fn(A, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: ...) -> Ret[src]

impl<Ret, A> PartialEq<unsafe fn(A) -> Ret> for unsafe fn(_: A) -> Ret[src]

impl<Ret, A, B> PartialEq<extern "C" fn(A, B) -> Ret> for extern "C" fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B> PartialEq<extern "C" fn(A, B, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: ...) -> Ret[src]

impl<Ret, A, B> PartialEq<fn(A, B) -> Ret> for fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B> PartialEq<unsafe extern "C" fn(A, B) -> Ret> for unsafe extern "C" fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B> PartialEq<unsafe extern "C" fn(A, B, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: ...) -> Ret[src]

impl<Ret, A, B> PartialEq<unsafe fn(A, B) -> Ret> for unsafe fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B, C> PartialEq<extern "C" fn(A, B, C) -> Ret> for extern "C" fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C> PartialEq<extern "C" fn(A, B, C, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: ...) -> Ret[src]

impl<Ret, A, B, C> PartialEq<fn(A, B, C) -> Ret> for fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C> PartialEq<unsafe extern "C" fn(A, B, C) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C> PartialEq<unsafe extern "C" fn(A, B, C, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: ...) -> Ret[src]

impl<Ret, A, B, C> PartialEq<unsafe fn(A, B, C) -> Ret> for unsafe fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C, D> PartialEq<extern "C" fn(A, B, C, D) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D> PartialEq<extern "C" fn(A, B, C, D, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: ...) -> Ret[src]

impl<Ret, A, B, C, D> PartialEq<fn(A, B, C, D) -> Ret> for fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D> PartialEq<unsafe extern "C" fn(A, B, C, D) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D> PartialEq<unsafe extern "C" fn(A, B, C, D, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: ...) -> Ret[src]

impl<Ret, A, B, C, D> PartialEq<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialEq<extern "C" fn(A, B, C, D, E) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialEq<extern "C" fn(A, B, C, D, E, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialEq<fn(A, B, C, D, E) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialEq<unsafe extern "C" fn(A, B, C, D, E) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialEq<unsafe extern "C" fn(A, B, C, D, E, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E> PartialEq<unsafe fn(A, B, C, D, E) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialEq<extern "C" fn(A, B, C, D, E, F) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialEq<extern "C" fn(A, B, C, D, E, F, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialEq<fn(A, B, C, D, E, F) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F> PartialEq<unsafe fn(A, B, C, D, E, F) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialEq<extern "C" fn(A, B, C, D, E, F, G) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialEq<extern "C" fn(A, B, C, D, E, F, G, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialEq<fn(A, B, C, D, E, F, G) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> PartialEq<unsafe fn(A, B, C, D, E, F, G) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialEq<fn(A, B, C, D, E, F, G, H) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> PartialEq<unsafe fn(A, B, C, D, E, F, G, H) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<fn(A, B, C, D, E, F, G, H, I) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, VaListImpl) -> Ret> for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, VaListImpl) -> Ret> for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<T> PartialEq<Discriminant<T>> for Discriminant<T>[src]

impl<T: PartialEq + Copy> PartialEq<Cell<T>> for Cell<T>[src]

impl<T: PartialEq + ?Sized> PartialEq<ManuallyDrop<T>> for ManuallyDrop<T>[src]

impl<T: PartialEq> PartialEq<Bound<T>> for Bound<T>[src]

impl<T: PartialEq> PartialEq<Option<T>> for Option<T>[src]

impl<T: PartialEq> PartialEq<Poll<T>> for Poll<T>[src]

impl<T: PartialEq> PartialEq<Reverse<T>> for Reverse<T>[src]

impl<T: PartialEq> PartialEq<Wrapping<T>> for Wrapping<T>[src]

impl<T: PartialEq, E: PartialEq> PartialEq<Result<T, E>> for Result<T, E>[src]

impl<T: ?Sized + PartialEq> PartialEq<RefCell<T>> for RefCell<T>[src]

fn eq(&self, other: &RefCell<T>) -> bool[src]

Panics

Panics if the value in either RefCell is currently borrowed.

impl<T: ?Sized> PartialEq<*const T> for *const T[src]

impl<T: ?Sized> PartialEq<*mut T> for *mut T[src]

impl<T: ?Sized> PartialEq<PhantomData<T>> for PhantomData<T>[src]

impl<T: ?Sized> PartialEq<NonNull<T>> for NonNull<T>[src]

impl<Y: PartialEq, R: PartialEq> PartialEq<GeneratorState<Y, R>> for GeneratorState<Y, R>[src]

Loading content...