Trait tract_hir::internal::tract_downcast_rs::__std::prelude::v1::PartialEq1.0.0[][src]

#[lang = "eq"]pub trait PartialEq<Rhs = Self> where
    Rhs: ?Sized
{ #[must_use] pub fn eq(&self, other: &Rhs) -> bool; #[must_use] pub 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, c of type A, B, C):

  • Symmetric: if A: PartialEq<B> and B: PartialEq<A>, then a == b implies b == a; and

  • Transitive: if A: PartialEq<B> and B: PartialEq<C> and A: PartialEq<C>, then a == b and b == c implies a == c.

Note that the B: PartialEq<A> (symmetric) and A: PartialEq<C> (transitive) impls are not forced to exist, but these requirements apply whenever they do exist.

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);

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);

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

A comparison like the one above, which ignores some fields of the struct, can be dangerous. It can easily lead to an unintended violation of the requirements for a partial equivalence relation. For example, if we kept the above implementation of PartialEq<Book> for BookFormat and added an implementation of PartialEq<Book> for Book (either via a #[derive] or via the manual implementation from the first example) then the result would violate transitivity:

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

#[derive(PartialEq)]
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
    }
}

fn main() {
    let b1 = Book { isbn: 1, format: BookFormat::Paperback };
    let b2 = Book { isbn: 2, format: BookFormat::Paperback };

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

    // The following should hold by transitivity but doesn't.
    assert!(b1 == b2); // <-- PANICS
}

Examples

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

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

Required methods

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

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

Loading content...

Provided methods

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

This method tests for !=.

Loading content...

Implementations on Foreign Types

impl PartialEq<OsStr> for str[src]

impl<'a> PartialEq<OsString> for &'a str[src]

impl PartialEq<OsString> for str[src]

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

impl<Ret, A> PartialEq<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> 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> PartialEq<fn(A, B, C, D) -> Ret> for fn(A, B, C, D) -> Ret[src]

impl PartialEq<i64> for i64[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<T> PartialEq<*const T> for *const T where
    T: ?Sized
[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> 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<A, B, const N: usize> PartialEq<[B]> for [A; N] where
    A: PartialEq<B>, 
[src]

impl PartialEq<str> for str[src]

impl PartialEq<!> for ![src]

impl<Ret, A, B> PartialEq<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> 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> PartialEq<unsafe extern "C" fn(A, B) -> Ret> for unsafe extern "C" fn(A, B) -> Ret[src]

impl<A, B, const N: usize> PartialEq<[A; N]> for [B] where
    B: PartialEq<A>, 
[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> PartialEq<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> 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, 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> 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> PartialEq<unsafe extern "C" fn(A, B, C, D, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, ...) -> Ret[src]

impl PartialEq<u64> for u64[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 PartialEq<u8> for u8[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, 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<A, B, C, D, E, F, G> PartialEq<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G) where
    C: PartialEq<C>,
    F: PartialEq<F>,
    E: PartialEq<E>,
    A: PartialEq<A>,
    B: PartialEq<B>,
    D: PartialEq<D>,
    G: PartialEq<G> + ?Sized
[src]

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

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

impl<'_, A, B, const N: usize> PartialEq<&'_ mut [B]> for [A; N] where
    A: PartialEq<B>, 
[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<'_, '_, A, B> PartialEq<&'_ B> for &'_ mut A where
    A: PartialEq<B> + ?Sized,
    B: ?Sized
[src]

impl PartialEq<u128> for u128[src]

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

impl<Ret, A> PartialEq<unsafe fn(A) -> Ret> for unsafe fn(A) -> 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> 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> PartialEq<extern "C" fn(A, B, C, D, ...) -> Ret> for extern "C" fn(A, B, C, D, ...) -> Ret[src]

impl<'_, '_, A, B> PartialEq<&'_ mut B> for &'_ mut A where
    A: PartialEq<B> + ?Sized,
    B: ?Sized
[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 PartialEq<char> for char[src]

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

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

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

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

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

impl PartialEq<i8> for i8[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 PartialEq<i16> for i16[src]

impl PartialEq<u16> for u16[src]

impl<Ret, A> PartialEq<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> 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 PartialEq<i128> for i128[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 fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> 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<A, B, C, D> PartialEq<(A, B, C, D)> for (A, B, C, D) where
    C: PartialEq<C>,
    A: PartialEq<A>,
    B: PartialEq<B>,
    D: PartialEq<D> + ?Sized
[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> PartialEq<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> 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<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> 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 PartialEq<i32> for i32[src]

impl PartialEq<f32> for f32[src]

impl<Ret> PartialEq<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> 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<'_, A, B, const N: usize> PartialEq<[A; N]> for &'_ mut [B] where
    B: PartialEq<A>, 
[src]

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

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

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

impl<Ret, A> PartialEq<fn(A) -> Ret> for fn(A) -> 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> 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 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, 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, 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, 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, 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> PartialEq<unsafe extern "C" fn(A, B, ...) -> Ret> for unsafe extern "C" fn(A, B, ...) -> 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<A, B, C> PartialEq<(A, B, C)> for (A, B, C) where
    C: PartialEq<C> + ?Sized,
    A: PartialEq<A>,
    B: PartialEq<B>, 
[src]

impl<Ret, A> PartialEq<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> 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<'_, A, B, const N: usize> PartialEq<&'_ [B]> for [A; N] where
    A: PartialEq<B>, 
[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, E, F> PartialEq<fn(A, B, C, D, E, F) -> Ret> for fn(A, B, C, D, E, F) -> Ret[src]

impl PartialEq<bool> for bool[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> PartialEq<unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret[src]

impl<'_, '_, A, B> PartialEq<&'_ mut B> for &'_ A where
    A: PartialEq<B> + ?Sized,
    B: ?Sized
[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> 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> PartialEq<fn() -> Ret> for fn() -> Ret[src]

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

impl<Ret> PartialEq<extern "C" fn() -> Ret> for extern "C" fn() -> 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 PartialEq<usize> for usize[src]

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

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

impl PartialEq<f64> for f64[src]

impl<A, B, C, D, E> PartialEq<(A, B, C, D, E)> for (A, B, C, D, E) where
    C: PartialEq<C>,
    E: PartialEq<E> + ?Sized,
    A: PartialEq<A>,
    B: PartialEq<B>,
    D: PartialEq<D>, 
[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<Ret, A, B> PartialEq<fn(A, B) -> Ret> for fn(A, B) -> 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> PartialEq<unsafe fn() -> Ret> for unsafe fn() -> 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, 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> PartialEq<extern "C" fn(A, B, C, D, E, F) -> Ret> for extern "C" fn(A, B, C, D, E, F) -> Ret[src]

impl PartialEq<u32> for u32[src]

impl PartialEq<isize> for isize[src]

impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str[src]

impl<'_, T, U, A> PartialEq<Vec<U, A>> for &'_ [T] where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<'a, 'b> PartialEq<String> for str[src]

impl<'a, 'b> PartialEq<Cow<'a, str>> for str[src]

impl<T, U, A> PartialEq<Vec<U, A>> for [T] where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<'_, T, U, A> PartialEq<Vec<U, A>> for &'_ mut [T] where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<'a, 'b> PartialEq<String> for &'a str[src]

impl PartialEq<_Unwind_Reason_Code> for _Unwind_Reason_Code

impl PartialEq<_Unwind_Action> for _Unwind_Action

impl PartialEq<Level> for LevelFilter[src]

impl PartialEq<Level> for Level[src]

impl PartialEq<ParseLevelError> for ParseLevelError[src]

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

impl PartialEq<LevelFilter> for Level[src]

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

impl PartialEq<LevelFilter> for LevelFilter[src]

impl PartialEq<ProtoFusedSpec> for ProtoFusedSpec[src]

impl PartialEq<OneHot> for OneHot[src]

impl PartialEq<Im2Col> for Im2Col[src]

impl PartialEq<Patch> for Patch[src]

impl PartialEq<QParams> for QParams[src]

impl PartialEq<MatMatMulPack> for MatMatMulPack[src]

impl PartialEq<PatchSpec> for PatchSpec[src]

impl<D, S> PartialEq<BaseDataShape<D, S>> for BaseDataShape<D, S> where
    S: PartialEq<S> + AsRef<[D]> + Debug,
    D: PartialEq<D> + DimLike
[src]

impl PartialEq<KernelFormat> for KernelFormat[src]

impl PartialEq<Reducer> for Reducer[src]

impl PartialEq<PatchAxis> for PatchAxis[src]

impl<B> PartialEq<BitSet<B>> for BitSet<B> where
    B: BitBlock

impl<B> PartialEq<BitVec<B>> for BitVec<B> where
    B: BitBlock
[src]

impl<T> PartialEq<FoldWhile<T>> for FoldWhile<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<Position<T>> for Position<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<MinMaxResult<T>> for MinMaxResult<T> where
    T: PartialEq<T>, 
[src]

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

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

impl<E> PartialEq<ParseComplexError<E>> for ParseComplexError<E> where
    E: PartialEq<E>, 
[src]

impl<T> PartialEq<Complex<T>> for Complex<T> where
    T: PartialEq<T>, 
[src]

impl PartialEq<f16> for f16[src]

impl PartialEq<bf16> for bf16[src]

Loading content...

Implementors

impl PartialEq<AttrOrInput> for AttrOrInput[src]

impl PartialEq<AxisOp> for AxisOp[src]

impl PartialEq<Cost> for Cost[src]

impl PartialEq<DatumType> for DatumType

impl PartialEq<InOut> for InOut[src]

impl PartialEq<TDim> for TDim

impl PartialEq<Validation> for Validation[src]

impl PartialEq<TryReserveError> for TryReserveError[src]

impl PartialEq<BacktraceStatus> for BacktraceStatus[src]

impl PartialEq<Ordering> for tract_hir::internal::tract_downcast_rs::__std::cmp::Ordering[src]

impl PartialEq<Infallible> for Infallible1.34.0[src]

impl PartialEq<VarError> for VarError[src]

impl PartialEq<ErrorKind> for tract_hir::internal::tract_downcast_rs::__std::io::ErrorKind[src]

impl PartialEq<SeekFrom> for SeekFrom[src]

impl PartialEq<IpAddr> for IpAddr1.7.0[src]

impl PartialEq<IpAddr> for Ipv4Addr1.16.0[src]

impl PartialEq<IpAddr> for Ipv6Addr1.16.0[src]

impl PartialEq<Ipv6MulticastScope> for Ipv6MulticastScope[src]

impl PartialEq<Shutdown> for Shutdown[src]

impl PartialEq<SocketAddr> for SocketAddr[src]

impl PartialEq<FpCategory> for FpCategory[src]

impl PartialEq<IntErrorKind> for IntErrorKind[src]

impl PartialEq<SearchStep> for SearchStep[src]

impl PartialEq<Ordering> for tract_hir::internal::tract_downcast_rs::__std::sync::atomic::Ordering[src]

impl PartialEq<RecvTimeoutError> for RecvTimeoutError1.12.0[src]

impl PartialEq<TryRecvError> for TryRecvError[src]

impl PartialEq<LinearSpec> for LinearSpec

impl PartialEq<MatrixStoreSpec> for MatrixStoreSpec

impl PartialEq<PanelStore> for PanelStore

impl PartialEq<ErrorKind> for tract_hir::internal::tract_ndarray::ErrorKind[src]

impl PartialEq<SliceOrIndex> for SliceOrIndex[src]

impl PartialEq<PadMode> for PadMode[src]

impl PartialEq<PaddingSpec> for PaddingSpec[src]

impl PartialEq<DataFormat> for DataFormat[src]

impl PartialEq<Reducer> for tract_hir::ops::nn::Reducer[src]

impl PartialEq<str> for OsStr[src]

impl PartialEq<str> for OsString[src]

impl PartialEq<InferenceFact> for InferenceFact[src]

impl PartialEq<ShapeFactoid> for ShapeFactoid[src]

impl PartialEq<AxisInfo> for AxisInfo[src]

impl PartialEq<Blob> for Blob

impl PartialEq<Dims> for Dims[src]

impl PartialEq<InletId> for InletId[src]

impl PartialEq<OutletId> for OutletId[src]

impl PartialEq<ShapeFact> for ShapeFact[src]

impl PartialEq<Symbol> for Symbol

impl PartialEq<Tensor> for Tensor

impl PartialEq<TypedFact> for TypedFact[src]

impl PartialEq<f16> for tract_hir::internal::f16

impl PartialEq<AllocError> for AllocError[src]

impl PartialEq<Layout> for Layout1.28.0[src]

impl PartialEq<LayoutError> for LayoutError1.50.0[src]

impl PartialEq<String> for String[src]

impl PartialEq<TypeId> for TypeId[src]

impl PartialEq<CpuidResult> for CpuidResult1.27.0[src]

impl PartialEq<CharTryFromError> for CharTryFromError1.34.0[src]

impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error1.9.0[src]

impl PartialEq<ParseCharError> for ParseCharError1.20.0[src]

impl PartialEq<CStr> for CStr[src]

impl PartialEq<CString> for CString[src]

impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError1.10.0[src]

impl PartialEq<FromVecWithNulError> for FromVecWithNulError[src]

impl PartialEq<IntoStringError> for IntoStringError1.7.0[src]

impl PartialEq<NulError> for NulError[src]

impl PartialEq<OsStr> for OsStr[src]

impl PartialEq<OsString> for OsString[src]

impl PartialEq<Error> for Error[src]

impl PartialEq<FileType> for FileType1.1.0[src]

impl PartialEq<Permissions> for Permissions[src]

impl PartialEq<PhantomPinned> for PhantomPinned1.33.0[src]

impl PartialEq<AddrParseError> for AddrParseError[src]

impl PartialEq<Ipv4Addr> for IpAddr1.16.0[src]

impl PartialEq<Ipv4Addr> for Ipv4Addr[src]

impl PartialEq<Ipv6Addr> for IpAddr1.16.0[src]

impl PartialEq<Ipv6Addr> for Ipv6Addr[src]

impl PartialEq<SocketAddrV4> for SocketAddrV4[src]

impl PartialEq<SocketAddrV6> for SocketAddrV6[src]

impl PartialEq<NonZeroI8> for NonZeroI81.34.0[src]

impl PartialEq<NonZeroI16> for NonZeroI161.34.0[src]

impl PartialEq<NonZeroI32> for NonZeroI321.34.0[src]

impl PartialEq<NonZeroI64> for NonZeroI641.34.0[src]

impl PartialEq<NonZeroI128> for NonZeroI1281.34.0[src]

impl PartialEq<NonZeroIsize> for NonZeroIsize1.34.0[src]

impl PartialEq<NonZeroU8> for NonZeroU81.28.0[src]

impl PartialEq<NonZeroU16> for NonZeroU161.28.0[src]

impl PartialEq<NonZeroU32> for NonZeroU321.28.0[src]

impl PartialEq<NonZeroU64> for NonZeroU641.28.0[src]

impl PartialEq<NonZeroU128> for NonZeroU1281.28.0[src]

impl PartialEq<NonZeroUsize> for NonZeroUsize1.28.0[src]

impl PartialEq<ParseFloatError> for ParseFloatError[src]

impl PartialEq<ParseIntError> for ParseIntError[src]

impl PartialEq<TryFromIntError> for TryFromIntError1.34.0[src]

impl PartialEq<RangeFull> for RangeFull[src]

impl PartialEq<NoneError> for NoneError[src]

impl PartialEq<UCred> for UCred[src]

impl PartialEq<Path> for Path[src]

impl PartialEq<PathBuf> for PathBuf[src]

impl PartialEq<StripPrefixError> for StripPrefixError1.7.0[src]

impl PartialEq<ExitStatus> for ExitStatus[src]

impl PartialEq<Output> for Output[src]

impl PartialEq<ParseBoolError> for ParseBoolError[src]

impl PartialEq<Utf8Error> for Utf8Error[src]

impl PartialEq<FromUtf8Error> for FromUtf8Error[src]

impl PartialEq<RecvError> for RecvError[src]

impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult1.5.0[src]

impl PartialEq<RawWaker> for RawWaker1.36.0[src]

impl PartialEq<RawWakerVTable> for RawWakerVTable1.36.0[src]

impl PartialEq<AccessError> for AccessError1.26.0[src]

impl PartialEq<ThreadId> for ThreadId1.19.0[src]

impl PartialEq<Duration> for Duration1.3.0[src]

impl PartialEq<Instant> for Instant1.8.0[src]

impl PartialEq<SystemTime> for SystemTime1.8.0[src]

impl PartialEq<Packer> for Packer

impl PartialEq<Axis> for Axis[src]

impl PartialEq<IxDynImpl> for IxDynImpl[src]

impl PartialEq<ShapeError> for ShapeError[src]

impl PartialEq<Slice> for tract_hir::internal::tract_ndarray::Slice[src]

impl PartialEq<Slice> for tract_hir::ops::array::Slice[src]

impl PartialEq<Downsample> for Downsample[src]

impl<'_> PartialEq<&'_ str> for OsString1.29.0[src]

impl<'_, '_, T, U> PartialEq<&'_ [U]> for Cow<'_, [T]> where
    T: PartialEq<U> + Clone
[src]

impl<'_, '_, T, U> PartialEq<&'_ mut [U]> for Cow<'_, [T]> where
    T: PartialEq<U> + Clone
[src]

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

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

impl<'_, A, B, const N: usize> PartialEq<&'_ [B; N]> for VecDeque<A> where
    A: PartialEq<B>, 
1.17.0[src]

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

impl<'_, T, U, A> PartialEq<&'_ [U]> for Vec<T, A> where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<'_, T, U, A> PartialEq<&'_ mut [U]> for Vec<T, A> where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<'_, T, U, A> PartialEq<Vec<U, A>> for Cow<'_, [T]> where
    T: PartialEq<U> + Clone,
    A: Allocator
[src]

impl<'_, T, U, A, const N: usize> PartialEq<&'_ [U; N]> for Vec<T, A> where
    T: PartialEq<U>,
    A: Allocator
[src]

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

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

impl<'a> PartialEq<Location<'a>> for Location<'a>1.10.0[src]

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

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

impl<'a, 'b> PartialEq<&'a str> for String[src]

impl<'a, 'b> PartialEq<&'a OsStr> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<&'a OsStr> for Path1.8.0[src]

impl<'a, 'b> PartialEq<&'a OsStr> for PathBuf1.8.0[src]

impl<'a, 'b> PartialEq<&'a Path> for Cow<'b, OsStr>1.8.0[src]

impl<'a, 'b> PartialEq<&'a Path> for OsStr1.8.0[src]

impl<'a, 'b> PartialEq<&'a Path> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<&'a Path> for PathBuf1.6.0[src]

impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>[src]

impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, OsStr>1.8.0[src]

impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, Path>1.8.0[src]

impl<'a, 'b> PartialEq<&'b Path> for Cow<'a, Path>1.6.0[src]

impl<'a, 'b> PartialEq<Cow<'a, str>> for String[src]

impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for Path1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for PathBuf1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b Path1.6.0[src]

impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsStr1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<Cow<'a, Path>> for Path1.6.0[src]

impl<'a, 'b> PartialEq<Cow<'a, Path>> for PathBuf1.6.0[src]

impl<'a, 'b> PartialEq<Cow<'b, OsStr>> for &'a Path1.8.0[src]

impl<'a, 'b> PartialEq<str> for Cow<'a, str>[src]

impl<'a, 'b> PartialEq<str> for String[src]

impl<'a, 'b> PartialEq<String> for Cow<'a, str>[src]

impl<'a, 'b> PartialEq<OsStr> for &'a Path1.8.0[src]

impl<'a, 'b> PartialEq<OsStr> for Cow<'a, OsStr>1.8.0[src]

impl<'a, 'b> PartialEq<OsStr> for Cow<'a, Path>1.8.0[src]

impl<'a, 'b> PartialEq<OsStr> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<OsStr> for Path1.8.0[src]

impl<'a, 'b> PartialEq<OsStr> for PathBuf1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for &'a OsStr1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for &'a Path1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for Cow<'a, OsStr>1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for Cow<'a, Path>1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for OsStr1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for Path1.8.0[src]

impl<'a, 'b> PartialEq<OsString> for PathBuf1.8.0[src]

impl<'a, 'b> PartialEq<Path> for &'a OsStr1.8.0[src]

impl<'a, 'b> PartialEq<Path> for Cow<'a, OsStr>1.8.0[src]

impl<'a, 'b> PartialEq<Path> for Cow<'a, Path>1.6.0[src]

impl<'a, 'b> PartialEq<Path> for OsStr1.8.0[src]

impl<'a, 'b> PartialEq<Path> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<Path> for PathBuf1.6.0[src]

impl<'a, 'b> PartialEq<PathBuf> for &'a OsStr1.8.0[src]

impl<'a, 'b> PartialEq<PathBuf> for &'a Path1.6.0[src]

impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, OsStr>1.8.0[src]

impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, Path>1.6.0[src]

impl<'a, 'b> PartialEq<PathBuf> for OsStr1.8.0[src]

impl<'a, 'b> PartialEq<PathBuf> for OsString1.8.0[src]

impl<'a, 'b> PartialEq<PathBuf> for Path1.6.0[src]

impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B> where
    C: ToOwned + ?Sized,
    B: PartialEq<C> + ToOwned + ?Sized
[src]

impl<'a, TI> PartialEq<MatMatMulKerSpec<'a, TI>> for MatMatMulKerSpec<'a, TI> where
    TI: PartialEq<TI> + Copy + Debug

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

impl<A, B> PartialEq<EitherOrBoth<A, B>> for tract_hir::internal::tract_itertools::EitherOrBoth<A, B> where
    A: PartialEq<A>,
    B: PartialEq<B>, 
[src]

impl<A, B> PartialEq<SmallVec<B>> for SmallVec<A> where
    A: Array,
    B: Array,
    <A as Array>::Item: PartialEq<<B as Array>::Item>, 

impl<A, B> PartialEq<Vec<B, Global>> for VecDeque<A> where
    A: PartialEq<B>, 
1.17.0[src]

impl<A, B, S, S2, D> PartialEq<ArrayBase<S2, D>> for ArrayBase<S, D> where
    S: Data<Elem = A>,
    A: PartialEq<B>,
    D: Dimension,
    S2: Data<Elem = B>, 
[src]

Return true if the array shapes and all elements of self and rhs are equal. Return false otherwise.

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

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

impl<Dyn> PartialEq<DynMetadata<Dyn>> for DynMetadata<Dyn> where
    Dyn: ?Sized
[src]

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

impl<I> PartialEq<Dim<I>> for Dim<I> where
    I: PartialEq<I> + ?Sized
[src]

impl<I> PartialEq<I> for Dim<I> where
    I: PartialEq<I> + ?Sized
[src]

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

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

impl<Idx> PartialEq<RangeInclusive<Idx>> for RangeInclusive<Idx> where
    Idx: PartialEq<Idx>, 
1.26.0[src]

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

impl<Idx> PartialEq<RangeToInclusive<Idx>> for RangeToInclusive<Idx> where
    Idx: PartialEq<Idx>, 
1.26.0[src]

impl<K, V> PartialEq<BTreeMap<K, V>> for BTreeMap<K, V> where
    K: PartialEq<K>,
    V: PartialEq<V>, 
[src]

impl<K, V, S> PartialEq<HashMap<K, V, S>> for HashMap<K, V, S> where
    S: BuildHasher,
    K: Eq + Hash,
    V: PartialEq<V>, 
[src]

impl<L, R> PartialEq<Either<L, R>> for Either<L, R> where
    R: PartialEq<R>,
    L: PartialEq<L>, 
[src]

impl<P, Q> PartialEq<Pin<Q>> for Pin<P> where
    P: Deref,
    Q: Deref,
    <P as Deref>::Target: PartialEq<<Q as Deref>::Target>, 
1.41.0[src]

impl<T> PartialEq<Bound<T>> for Bound<T> where
    T: PartialEq<T>, 
1.17.0[src]

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

impl<T> PartialEq<TrySendError<T>> for TrySendError<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<Poll<T>> for Poll<T> where
    T: PartialEq<T>, 
1.36.0[src]

impl<T> PartialEq<FoldWhile<T>> for tract_hir::internal::tract_itertools::FoldWhile<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<MinMaxResult<T>> for tract_hir::internal::tract_itertools::MinMaxResult<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<Position<T>> for tract_hir::internal::tract_itertools::Position<T> where
    T: PartialEq<T>, 
[src]

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

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

Equality for two Arcs.

Two Arcs are equal if their inner values are equal, even if they are stored in different allocation.

If T also implements Eq (implying reflexivity of equality), two Arcs that point to the same allocation are always equal.

Examples

use std::sync::Arc;

let five = Arc::new(5);

assert!(five == Arc::new(5));

pub fn ne(&self, other: &Arc<T>) -> bool[src]

Inequality for two Arcs.

Two Arcs are unequal if their inner values are unequal.

If T also implements Eq (implying reflexivity of equality), two Arcs that point to the same value are never unequal.

Examples

use std::sync::Arc;

let five = Arc::new(5);

assert!(five != Arc::new(6));

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

impl<T> PartialEq<BTreeSet<T>> for BTreeSet<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<LinkedList<T>> for LinkedList<T> where
    T: PartialEq<T>, 
[src]

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

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

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

Panics

Panics if the value in either RefCell is currently borrowed.

impl<T> PartialEq<Reverse<T>> for Reverse<T> where
    T: PartialEq<T>, 
1.19.0[src]

impl<T> PartialEq<Cursor<T>> for Cursor<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<OnceCell<T>> for OnceCell<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<SyncOnceCell<T>> for SyncOnceCell<T> where
    T: PartialEq<T>, 
[src]

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

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

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

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

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

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

Equality for two Rcs.

Two Rcs are equal if their inner values are equal, even if they are stored in different allocation.

If T also implements Eq (implying reflexivity of equality), two Rcs that point to the same allocation are always equal.

Examples

use std::rc::Rc;

let five = Rc::new(5);

assert!(five == Rc::new(5));

pub fn ne(&self, other: &Rc<T>) -> bool[src]

Inequality for two Rcs.

Two Rcs are unequal if their inner values are unequal.

If T also implements Eq (implying reflexivity of equality), two Rcs that point to the same allocation are never unequal.

Examples

use std::rc::Rc;

let five = Rc::new(5);

assert!(five != Rc::new(6));

impl<T> PartialEq<SendError<T>> for SendError<T> where
    T: PartialEq<T>, 
[src]

impl<T> PartialEq<T> for ShapeFact where
    T: AsRef<[usize]>, 
[src]

impl<T, A> PartialEq<Box<T, A>> for Box<T, A> where
    T: PartialEq<T> + ?Sized,
    A: Allocator
[src]

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

impl<T, S> PartialEq<HashSet<T, S>> for HashSet<T, S> where
    S: BuildHasher,
    T: Eq + Hash
[src]

impl<T, U, A> PartialEq<[U]> for Vec<T, A> where
    T: PartialEq<U>,
    A: Allocator
1.48.0[src]

impl<T, U, A> PartialEq<Vec<U, A>> for Vec<T, A> where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A> where
    T: PartialEq<U>,
    A: Allocator
[src]

impl<T: PartialEq + Debug + Clone + Hash> PartialEq<GenericFactoid<T>> for GenericFactoid<T>[src]

impl<TI> PartialEq<FusedKerSpec<TI>> for FusedKerSpec<TI> where
    TI: PartialEq<TI> + Copy

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

Loading content...