# Trait std::cmp::PartialEq

1.0.0 · source ·

    pub trait PartialEq<Rhs = Self>where
        Rhs: ?Sized,{
        // Required method
        fn eq(&self, other: &Rhs) -> bool;

        // Provided method
        fn ne(&self, other: &Rhs) -> bool { ... }
    }

Expand description

Trait for comparisons using the equality operator.

Implementing this trait for types provides the `==` and `!=` operators for those types.

`x.eq(y)` can also be written `x == y`, and `x.ne(y)` can be written `x != y`. We use the easier-to-read infix notation in the remainder of this documentation.

This trait allows for comparisons using the equality operator, 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 speaking, when `Rhs == Self`, this trait corresponds to a partial equivalence relation.

Implementations must ensure that `eq` and `ne` are consistent with each other:

- `a != b` if and only if `!(a == b)`.

The default implementation of `ne` provides this consistency and is almost always sufficient. It should not be overridden without very good reason.

If `PartialOrd` or `Ord` are also implemented for `Self` and `Rhs`, their methods must also be consistent with `PartialEq` (see the documentation of those traits for the exact requirements). It’s easy to accidentally make them disagree by deriving some of the traits and manually implementing others.

The equality relation `==` must satisfy the following conditions (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.

Violating these requirements is a logic error. The behavior resulting from a logic error is not specified, but users of the trait must ensure that such logic errors do not result in undefined behavior. This means that `unsafe` code must not rely on the correctness of these methods.

### Derivable

This trait can be used with `#[derive]`. When `derive`d on structs, two instances are equal if all fields are equal, and not equal if any fields are not equal. When `derive`d on enums, two instances are equal if they are the same variant and all fields are equal.

### How can I implement `PartialEq`?

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 `BookFormat`s to be compared with `Book`s.

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
    }

Run

## Examples

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

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

Run

## Required Methods§

source

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

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

## Provided Methods§

source

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

This method tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.

## Implementors§

source§

### impl PartialEq for AsciiChar

1.65.0 · source§

### impl PartialEq for BacktraceStatus

source§

### impl PartialEq for TryReserveErrorKind

1.34.0 · source§

### impl PartialEq for Infallible

source§

### impl PartialEq for VarError

1.28.0 · source§

### impl PartialEq for std::fmt::Alignment

source§

### impl PartialEq for ErrorKind

source§

### impl PartialEq for SeekFrom

1.7.0 · source§

### impl PartialEq for IpAddr

source§

### impl PartialEq for Ipv6MulticastScope

source§

### impl PartialEq for Shutdown

source§

### impl PartialEq for SocketAddr

source§

### impl PartialEq for FpCategory

1.55.0 · source§

### impl PartialEq for IntErrorKind

source§

### impl PartialEq for BacktraceStyle

source§

### impl PartialEq for Which

source§

### impl PartialEq for SearchStep

source§

### impl PartialEq for std::sync::atomic::Ordering

1.12.0 · source§

### impl PartialEq for RecvTimeoutError

source§

### impl PartialEq for TryRecvError

source§

### impl PartialEq for std::cmp::Ordering

source§

### impl PartialEq for bool

source§

### impl PartialEq for char

source§

### impl PartialEq for f32

source§

### impl PartialEq for f64

source§

### impl PartialEq for i8

source§

### impl PartialEq for i16

source§

### impl PartialEq for i32

source§

### impl PartialEq for i64

source§

### impl PartialEq for i128

source§

### impl PartialEq for isize

source§

### impl PartialEq for !

source§

### impl PartialEq for str

source§

### impl PartialEq for u8

source§

### impl PartialEq for u16

source§

### impl PartialEq for u32

source§

### impl PartialEq for u64

source§

### impl PartialEq for u128

source§

### impl PartialEq for ()

source§

### impl PartialEq for usize

1.27.0 · source§

### impl PartialEq for CpuidResult

source§

### impl PartialEq for AllocError

1.28.0 · source§

### impl PartialEq for Layout

1.50.0 · source§

### impl PartialEq for LayoutError

source§

### impl PartialEq for TypeId

1.34.0 · source§

### impl PartialEq for CharTryFromError

1.9.0 · source§

### impl PartialEq for DecodeUtf16Error

1.20.0 · source§

### impl PartialEq for ParseCharError

1.59.0 · source§

### impl PartialEq for TryFromCharError

1.57.0 · source§

### impl PartialEq for TryReserveError

source§

### impl PartialEq for CStr

1.64.0 · source§

### impl PartialEq for CString

1.69.0 · source§

### impl PartialEq for FromBytesUntilNulError

1.64.0 · source§

### impl PartialEq for FromBytesWithNulError

1.64.0 · source§

### impl PartialEq for FromVecWithNulError

1.64.0 · source§

### impl PartialEq for IntoStringError

1.64.0 · source§

### impl PartialEq for NulError

source§

### impl PartialEq for OsStr

source§

### impl PartialEq for OsString

source§

### impl PartialEq for Error

1.1.0 · source§

### impl PartialEq for FileType

source§

### impl PartialEq for Permissions

1.33.0 · source§

### impl PartialEq for PhantomPinned

source§

### impl PartialEq for Assume

source§

### impl PartialEq for AddrParseError

source§

### impl PartialEq for Ipv4Addr

source§

### impl PartialEq for Ipv6Addr

source§

### impl PartialEq for SocketAddrV4

source§

### impl PartialEq for SocketAddrV6

1.34.0 · source§

### impl PartialEq for NonZeroI8

1.34.0 · source§

### impl PartialEq for NonZeroI16

1.34.0 · source§

### impl PartialEq for NonZeroI32

1.34.0 · source§

### impl PartialEq for NonZeroI64

1.34.0 · source§

### impl PartialEq for NonZeroI128

1.34.0 · source§

### impl PartialEq for NonZeroIsize

1.28.0 · source§

### impl PartialEq for NonZeroU8

1.28.0 · source§

### impl PartialEq for NonZeroU16

1.28.0 · source§

### impl PartialEq for NonZeroU32

1.28.0 · source§

### impl PartialEq for NonZeroU64

1.28.0 · source§

### impl PartialEq for NonZeroU128

1.28.0 · source§

### impl PartialEq for NonZeroUsize

source§

### impl PartialEq for ParseFloatError

source§

### impl PartialEq for ParseIntError

1.34.0 · source§

### impl PartialEq for TryFromIntError

source§

### impl PartialEq for RangeFull

source§

### impl PartialEq for UCred

Available on Unix only.
1.63.0 · source§

### impl PartialEq for InvalidHandleError

Available on Windows only.
1.63.0 · source§

### impl PartialEq for NullHandleError

Available on Windows only.
source§

### impl PartialEq for Path

source§

### impl PartialEq for PathBuf

1.7.0 · source§

### impl PartialEq for StripPrefixError

source§

### impl PartialEq for ExitStatus

source§

### impl PartialEq for ExitStatusError

source§

### impl PartialEq for Output

source§

### impl PartialEq for std::ptr::Alignment

source§

### impl PartialEq for ParseBoolError

source§

### impl PartialEq for Utf8Error

source§

### impl PartialEq for FromUtf8Error

source§

### impl PartialEq for String

source§

### impl PartialEq for RecvError

1.5.0 · source§

### impl PartialEq for WaitTimeoutResult

1.36.0 · source§

### impl PartialEq for RawWaker

1.36.0 · source§

### impl PartialEq for RawWakerVTable

1.26.0 · source§

### impl PartialEq for AccessError

1.19.0 · source§

### impl PartialEq for ThreadId

1.3.0 · source§

### impl PartialEq for Duration

1.8.0 · source§

### impl PartialEq for Instant

1.8.0 · source§

### impl PartialEq for SystemTime

1.66.0 · source§

### impl PartialEq for TryFromFloatSecsError

1.29.0 · source§

### impl PartialEq<&str> for OsString

1.16.0 · source§

### impl PartialEq<IpAddr> for Ipv4Addr

1.16.0 · source§

### impl PartialEq<IpAddr> for Ipv6Addr

source§

### impl PartialEq<str> for OsStr

source§

### impl PartialEq<str> for OsString

source§

### impl PartialEq<OsStr> for str

1.8.0 · source§

### impl PartialEq<OsStr> for Path

1.8.0 · source§

### impl PartialEq<OsStr> for PathBuf

source§

### impl PartialEq<OsString> for str

1.8.0 · source§

### impl PartialEq<OsString> for Path

1.8.0 · source§

### impl PartialEq<OsString> for PathBuf

1.16.0 · source§

### impl PartialEq<Ipv4Addr> for IpAddr

1.16.0 · source§

### impl PartialEq<Ipv6Addr> for IpAddr

1.8.0 · source§

### impl PartialEq<Path> for OsStr

1.8.0 · source§

### impl PartialEq<Path> for OsString

1.6.0 · source§

### impl PartialEq<Path> for PathBuf

1.8.0 · source§

### impl PartialEq<PathBuf> for OsStr

1.8.0 · source§

### impl PartialEq<PathBuf> for OsString

1.6.0 · source§

### impl PartialEq<PathBuf> for Path

source§

### impl<'a> PartialEq for Component<'a>

source§

### impl<'a> PartialEq for Prefix<'a>

1.10.0 · source§

### impl<'a> PartialEq for Location<'a>

source§

### impl<'a> PartialEq for Components<'a>

source§

### impl<'a> PartialEq for PrefixComponent<'a>

source§

### impl<'a> PartialEq for Utf8Chunk<'a>

1.8.0 · source§

### impl<'a> PartialEq<&'a OsStr> for Path

1.8.0 · source§

### impl<'a> PartialEq<&'a OsStr> for PathBuf

1.8.0 · source§

### impl<'a> PartialEq<&'a Path> for OsStr

1.8.0 · source§

### impl<'a> PartialEq<&'a Path> for OsString

1.6.0 · source§

### impl<'a> PartialEq<&'a Path> for PathBuf

1.8.0 · source§

### impl<'a> PartialEq<Cow<'a, OsStr>> for Path

1.8.0 · source§

### impl<'a> PartialEq<Cow<'a, OsStr>> for PathBuf

1.8.0 · source§

### impl<'a> PartialEq<Cow<'a, Path>> for OsStr

1.8.0 · source§

### impl<'a> PartialEq<Cow<'a, Path>> for OsString

1.6.0 · source§

### impl<'a> PartialEq<Cow<'a, Path>> for Path

1.6.0 · source§

### impl<'a> PartialEq<Cow<'a, Path>> for PathBuf

1.8.0 · source§

### impl<'a> PartialEq<OsStr> for &'a Path

1.8.0 · source§

### impl<'a> PartialEq<OsStr> for Cow<'a, Path>

1.29.0 · source§

### impl<'a> PartialEq<OsString> for &'a str

1.8.0 · source§

### impl<'a> PartialEq<OsString> for &'a Path

1.8.0 · source§

### impl<'a> PartialEq<OsString> for Cow<'a, Path>

1.8.0 · source§

### impl<'a> PartialEq<Path> for &'a OsStr

1.8.0 · source§

### impl<'a> PartialEq<Path> for Cow<'a, OsStr>

1.6.0 · source§

### impl<'a> PartialEq<Path> for Cow<'a, Path>

1.8.0 · source§

### impl<'a> PartialEq<PathBuf> for &'a OsStr

1.6.0 · source§

### impl<'a> PartialEq<PathBuf> for &'a Path

1.8.0 · source§

### impl<'a> PartialEq<PathBuf> for Cow<'a, OsStr>

1.6.0 · source§

### impl<'a> PartialEq<PathBuf> for Cow<'a, Path>

source§

### impl<'a, 'b> PartialEq<&'a str> for String

1.8.0 · source§

### impl<'a, 'b> PartialEq<&'a OsStr> for OsString

1.8.0 · source§

### impl<'a, 'b> PartialEq<&'a Path> for Cow<'b, OsStr>

source§

### impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>

1.8.0 · source§

### impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, OsStr>

1.8.0 · source§

### impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, Path>

1.6.0 · source§

### impl<'a, 'b> PartialEq<&'b Path> for Cow<'a, Path>

source§

### impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str

source§

### impl<'a, 'b> PartialEq<Cow<'a, str>> for str

source§

### impl<'a, 'b> PartialEq<Cow<'a, str>> for String

1.8.0 · source§

### impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr

1.8.0 · source§

### impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr

1.8.0 · source§

### impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsString

1.8.0 · source§

### impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr

1.6.0 · source§

### impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b Path

1.8.0 · source§

### impl<'a, 'b> PartialEq<Cow<'b, OsStr>> for &'a Path

source§

### impl<'a, 'b> PartialEq<str> for Cow<'a, str>

source§

### impl<'a, 'b> PartialEq<str> for String

1.8.0 · source§

### impl<'a, 'b> PartialEq<OsStr> for Cow<'a, OsStr>

1.8.0 · source§

### impl<'a, 'b> PartialEq<OsStr> for OsString

1.8.0 · source§

### impl<'a, 'b> PartialEq<OsString> for &'a OsStr

1.8.0 · source§

### impl<'a, 'b> PartialEq<OsString> for Cow<'a, OsStr>

1.8.0 · source§

### impl<'a, 'b> PartialEq<OsString> for OsStr

source§

### impl<'a, 'b> PartialEq<String> for &'a str

source§

### impl<'a, 'b> PartialEq<String> for Cow<'a, str>

source§

### impl<'a, 'b> PartialEq<String> for str

source§

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

source§

### impl<A, B> PartialEq<&B> for &A where A: PartialEq<B> + ?Sized, B: ?Sized,

source§

### impl<A, B> PartialEq<&B> for &mut A where A: PartialEq<B> + ?Sized, B: ?Sized,

source§

### impl<A, B> PartialEq<&mut B> for &A where A: PartialEq<B> + ?Sized, B: ?Sized,

source§

### impl<A, B> PartialEq<&mut B> for &mut A where A: PartialEq<B> + ?Sized, B: ?Sized,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

1.55.0 · source§

### impl<B, C> PartialEq for ControlFlow<B, C>where B: PartialEq, C: PartialEq,

source§

### impl<Dyn> PartialEq for DynMetadata<Dyn>where Dyn: ?Sized,

1.4.0 · source§

### impl<F> PartialEq for Fwhere F: FnPtr,

1.29.0 · source§

### impl<H> PartialEq for BuildHasherDefault<H>

source§

### impl<Idx> PartialEq for Range<Idx>where Idx: PartialEq,

source§

### impl<Idx> PartialEq for RangeFrom<Idx>where Idx: PartialEq,

1.26.0 · source§

### impl<Idx> PartialEq for RangeInclusive<Idx>where Idx: PartialEq,

source§

### impl<Idx> PartialEq for RangeTo<Idx>where Idx: PartialEq,

1.26.0 · source§

### impl<Idx> PartialEq for RangeToInclusive<Idx>where Idx: PartialEq,

source§

### impl<K, V, A> PartialEq for BTreeMap<K, V, A>where K: PartialEq, V: PartialEq, A: Allocator + Clone,

source§

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

1.41.0 · source§

### impl<P, Q> PartialEq<Pin<Q>> for Pin<P>where P: Deref, Q: Deref, <P as Deref>::Target: PartialEq<<Q as Deref>::Target>,

1.17.0 · source§

### impl<T> PartialEq for Bound<T>where T: PartialEq,

source§

### impl<T> PartialEq for Option<T>where T: PartialEq,

1.36.0 · source§

### impl<T> PartialEq for Poll<T>where T: PartialEq,

source§

### impl<T> PartialEq for *const T where T: ?Sized,

source§

### impl<T> PartialEq for *mut T where T: ?Sized,

source§

### impl<T> PartialEq for (T₁, T₂, …, Tₙ)where T: PartialEq + ?Sized,

This trait is implemented for tuples up to twelve items long.

source§

### impl<T> PartialEq for Cell<T>where T: PartialEq + Copy,

1.70.0 · source§

### impl<T> PartialEq for OnceCell<T>where T: PartialEq,

source§

### impl<T> PartialEq for RefCell<T>where T: PartialEq + ?Sized,

source§

### impl<T> PartialEq for PhantomData<T>where T: ?Sized,

1.21.0 · source§

### impl<T> PartialEq for Discriminant<T>

1.20.0 · source§

### impl<T> PartialEq for ManuallyDrop<T>where T: PartialEq + ?Sized,

1.74.0 · source§

### impl<T> PartialEq for Saturating<T>where T: PartialEq,

source§

### impl<T> PartialEq for Wrapping<T>where T: PartialEq,

1.25.0 · source§

### impl<T> PartialEq for NonNull<T>where T: ?Sized,

1.19.0 · source§

### impl<T> PartialEq for Reverse<T>where T: PartialEq,

source§

### impl<T, A> PartialEq for Box<T, A>where T: PartialEq + ?Sized, A: Allocator,

source§

### impl<T, A> PartialEq for BTreeSet<T, A>where T: PartialEq, A: Allocator + Clone,

source§

### impl<T, A> PartialEq for LinkedList<T, A>where T: PartialEq, A: Allocator,

source§

### impl<T, A> PartialEq for VecDeque<T, A>where T: PartialEq, A: Allocator,

source§

### impl<T, A> PartialEq for Rc<T, A>where T: PartialEq + ?Sized, A: Allocator,

source§

### impl<T, A> PartialEq for Arc<T, A>where T: PartialEq + ?Sized, A: Allocator,

source§

### impl<T, E> PartialEq for Result<T, E>where T: PartialEq, E: PartialEq,

source§

### impl<T, S> PartialEq for HashSet<T, S>where T: Eq + Hash, S: BuildHasher,

source§

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

source§

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

source§

### impl<T, U, A1, A2, FH1, FH2> PartialEq<Vec<U, A2, FH2>> for Vec<T, A1, FH1>where A1: Allocator, A2: Allocator, FH1: FailureHandling, FH2: FailureHandling, T: PartialEq<U>,

1.17.0 · source§

### impl<T, U, A> PartialEq<&[U]> for VecDeque<T, A>where A: Allocator, T: PartialEq<U>,

1.17.0 · source§

### impl<T, U, A> PartialEq<&mut [U]> for VecDeque<T, A>where A: Allocator, T: PartialEq<U>,

1.17.0 · source§

### impl<T, U, A> PartialEq<Vec<U, A>> for VecDeque<T, A>where A: Allocator, T: PartialEq<U>,

source§

### impl<T, U, A, FH> PartialEq<&[U]> for Vec<T, A, FH>where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

source§

### impl<T, U, A, FH> PartialEq<&mut [U]> for Vec<T, A, FH>where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

1.48.0 · source§

### impl<T, U, A, FH> PartialEq<[U]> for Vec<T, A, FH>where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

1.46.0 · source§

### impl<T, U, A, FH> PartialEq<Vec<U, A, FH>> for &[T]where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

1.46.0 · source§

### impl<T, U, A, FH> PartialEq<Vec<U, A, FH>> for &mut [T]where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

source§

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

1.48.0 · source§

### impl<T, U, A, FH> PartialEq<Vec<U, A, FH>> for [T]where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

source§

### impl<T, U, A, FH, const N: usize> PartialEq<&[U; N]> for Vec<T, A, FH>where A: Allocator, FH: FailureHandling, T: PartialEq<U>,

source§

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

1.17.0 · source§

### impl<T, U, A, const N: usize> PartialEq<&[U; N]> for VecDeque<T, A>where A: Allocator, T: PartialEq<U>,

1.17.0 · source§

### impl<T, U, A, const N: usize> PartialEq<&mut [U; N]> for VecDeque<T, A>where A: Allocator, T: PartialEq<U>,

1.17.0 · source§

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

source§

### impl<T, const LANES: usize> PartialEq for Mask<T, LANES>where T: MaskElement + PartialEq, LaneCount<LANES>: SupportedLaneCount,

source§

### impl<T, const N: usize> PartialEq for Simd<T, N>where LaneCount<N>: SupportedLaneCount, T: SimdElement + PartialEq,

source§

### impl<T: PartialEq> PartialEq for TrySendError<T>

source§

### impl<T: PartialEq> PartialEq for Cursor<T>

source§

### impl<T: PartialEq> PartialEq for SendError<T>

1.70.0 · source§

### impl<T: PartialEq> PartialEq for OnceLock<T>

source§

### impl<Y, R> PartialEq for CoroutineState<Y, R>where Y: PartialEq, R: PartialEq,