1.0.0[][src]Trait competitive_hpp::prelude::PartialEq

#[lang = "eq"]pub trait PartialEq<Rhs = Self> where
    Rhs: ?Sized
{ #[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):

  • symmetric: a == b implies b == a; and
  • transitive: a == b and b == c implies a == 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);

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

Implementations on Foreign Types

impl PartialEq<Ipv6Addr> for IpAddr[src]

impl PartialEq<NulError> for NulError[src]

impl PartialEq<AccessError> for AccessError[src]

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

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

impl PartialEq<IpAddr> for Ipv4Addr[src]

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

impl PartialEq<StripPrefixError> for StripPrefixError[src]

impl PartialEq<Shutdown> for Shutdown[src]

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

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

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

impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]

impl PartialEq<OsString> for str[src]

impl PartialEq<Ipv6Addr> for Ipv6Addr[src]

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

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

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

impl PartialEq<Ipv6MulticastScope> for Ipv6MulticastScope[src]

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

impl PartialEq<PathBuf> for PathBuf[src]

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

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

impl PartialEq<IpAddr> for Ipv6Addr[src]

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

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

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

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

impl PartialEq<VarError> for VarError[src]

impl PartialEq<Ipv4Addr> for IpAddr[src]

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

impl<'a, 'b> PartialEq<OsString> for PathBuf[src]

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

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

impl PartialEq<CStr> for CStr[src]

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

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

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

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

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

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

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

impl PartialEq<ThreadId> for ThreadId[src]

impl PartialEq<OsStr> for OsStr[src]

impl PartialEq<SystemTime> for SystemTime[src]

impl PartialEq<OsString> for OsString[src]

impl PartialEq<ErrorKind> for ErrorKind[src]

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

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

impl PartialEq<Output> for Output[src]

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

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

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

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

impl PartialEq<ExitStatus> for ExitStatus[src]

impl PartialEq<str> for OsStr[src]

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

impl PartialEq<SocketAddrV4> for SocketAddrV4[src]

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

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

impl PartialEq<IpAddr> for IpAddr[src]

impl PartialEq<OsStr> for str[src]

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

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

impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError[src]

impl PartialEq<Instant> for Instant[src]

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

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

impl PartialEq<SocketAddrV6> for SocketAddrV6[src]

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

impl PartialEq<SeekFrom> for SeekFrom[src]

impl<'a, 'b> PartialEq<PathBuf> for OsString[src]

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

impl PartialEq<FileType> for FileType[src]

impl PartialEq<RecvTimeoutError> for RecvTimeoutError[src]

impl PartialEq<AddrParseError> for AddrParseError[src]

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

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

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

impl PartialEq<Path> for Path[src]

impl PartialEq<TryRecvError> for TryRecvError[src]

impl PartialEq<CString> for CString[src]

impl PartialEq<IntoStringError> for IntoStringError[src]

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

impl PartialEq<BacktraceStatus> for BacktraceStatus[src]

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

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

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

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

impl PartialEq<str> for OsString[src]

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

impl PartialEq<RecvError> for RecvError[src]

impl PartialEq<Permissions> for Permissions[src]

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

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

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

impl PartialEq<Ipv4Addr> for Ipv4Addr[src]

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

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

impl PartialEq<SocketAddr> for SocketAddr[src]

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

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

impl PartialEq<AllocInit> for AllocInit[src]

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

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

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

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

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

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

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

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

impl PartialEq<Layout> for Layout[src]

impl PartialEq<f64> for f64[src]

impl PartialEq<u8> for u8[src]

impl PartialEq<NonZeroI16> for NonZeroI16[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<T> PartialEq<NonNull<T>> for NonNull<T> where
    T: ?Sized
[src]

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

impl PartialEq<AllocErr> for AllocErr[src]

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

impl PartialEq<NonZeroUsize> for NonZeroUsize[src]

impl PartialEq<i16> for i16[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, 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<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> 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, 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<T> PartialEq<*const T> for *const T where
    T: ?Sized
[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 PartialEq<i128> for i128[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> PartialEq<(A, B, C)> for (A, B, C) where
    A: PartialEq<A>,
    B: PartialEq<B>,
    C: PartialEq<C> + ?Sized
[src]

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

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

impl PartialEq<TypeId> for TypeId[src]

impl PartialEq<NonZeroU16> for NonZeroU16[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, 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> 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<const N: usize, A, B> PartialEq<[B; N]> for [A; N] where
    A: PartialEq<B>,
    [A; N]: LengthAtMost32,
    [B; N]: LengthAtMost32
[src]

impl PartialEq<IntErrorKind> for IntErrorKind[src]

impl PartialEq<NonZeroU8> for NonZeroU8[src]

impl PartialEq<NonZeroU64> for NonZeroU64[src]

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

impl PartialEq<ParseCharError> for ParseCharError[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> 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 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 PartialEq<!> for ![src]

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

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

impl PartialEq<FpCategory> for FpCategory[src]

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

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

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

impl PartialEq<Infallible> for Infallible[src]

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

impl PartialEq<Duration> for Duration[src]

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

impl PartialEq<RawWakerVTable> for RawWakerVTable[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<ParseFloatError> for ParseFloatError[src]

impl PartialEq<NonZeroI64> for NonZeroI64[src]

impl<'a> PartialEq<Utf8LossyChunk<'a>> for Utf8LossyChunk<'a>[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
    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> + ?Sized
[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 PartialEq<NonZeroU32> for NonZeroU32[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<SearchStep> for SearchStep[src]

impl PartialEq<i64> for i64[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<'b, const N: usize, A, B> PartialEq<&'b [B]> for [A; N] where
    A: PartialEq<B>,
    [A; N]: LengthAtMost32
[src]

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

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

impl PartialEq<RangeFull> for RangeFull[src]

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

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

impl<Idx> PartialEq<RangeToInclusive<Idx>> for RangeToInclusive<Idx> where
    Idx: PartialEq<Idx>, 
[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 PartialEq<NonZeroI8> for NonZeroI8[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, 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> 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<u64> for u64[src]

impl PartialEq<char> for char[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> 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> 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 PartialEq<LayoutErr> for LayoutErr[src]

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

impl PartialEq<isize> for isize[src]

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

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

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

impl PartialEq<f32> for f32[src]

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

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

impl PartialEq<ParseBoolError> for ParseBoolError[src]

impl<const N: usize, A, B> PartialEq<[A; N]> for [B] where
    B: PartialEq<A>,
    [A; N]: LengthAtMost32
[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
    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> + ?Sized
[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 PartialEq<DecodeUtf16Error> for DecodeUtf16Error[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<NonZeroU128> for NonZeroU128[src]

impl PartialEq<NonZeroIsize> for NonZeroIsize[src]

impl PartialEq<u16> for u16[src]

impl<'b, const N: usize, A, B> PartialEq<[A; N]> for &'b mut [B] where
    B: PartialEq<A>,
    [A; N]: LengthAtMost32
[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
    A: PartialEq<A>,
    B: PartialEq<B>,
    C: PartialEq<C>,
    D: PartialEq<D>,
    E: PartialEq<E>,
    F: PartialEq<F>,
    G: PartialEq<G>,
    H: PartialEq<H> + ?Sized
[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<Idx> PartialEq<RangeFrom<Idx>> for RangeFrom<Idx> where
    Idx: PartialEq<Idx>, 
[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<T> PartialEq<ManuallyDrop<T>> for ManuallyDrop<T> where
    T: PartialEq<T> + ?Sized
[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> PartialEq<unsafe extern "C" fn(A, B, C, D, E) -> Ret> for unsafe extern "C" fn(A, B, C, D, E) -> Ret[src]

impl<Y, R> PartialEq<GeneratorState<Y, R>> for GeneratorState<Y, R> where
    R: PartialEq<R>,
    Y: PartialEq<Y>, 
[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<T> PartialEq<Discriminant<T>> for Discriminant<T>[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 PartialEq<()> for ()[src]

impl PartialEq<Utf8Error> for Utf8Error[src]

impl PartialEq<TryFromIntError> for TryFromIntError[src]

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

impl<Idx> PartialEq<RangeInclusive<Idx>> for RangeInclusive<Idx> where
    Idx: PartialEq<Idx>, 
[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> 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, 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<fn(A, B, C, D, E, F, G, H) -> Ret> for fn(A, B, C, D, E, F, G, H) -> Ret[src]

impl PartialEq<RawWaker> for RawWaker[src]

impl PartialEq<i8> for i8[src]

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

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

impl PartialEq<i32> for i32[src]

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

impl PartialEq<NonZeroI32> for NonZeroI32[src]

impl PartialEq<u32> for u32[src]

impl<A, B, C, D, E> PartialEq<(A, B, C, D, E)> for (A, B, C, D, E) where
    A: PartialEq<A>,
    B: PartialEq<B>,
    C: PartialEq<C>,
    D: PartialEq<D>,
    E: PartialEq<E> + ?Sized
[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 PartialEq<NonZeroI128> for NonZeroI128[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<NoneError> for NoneError[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, 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 PartialEq<PhantomPinned> for PhantomPinned[src]

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

impl PartialEq<CharTryFromError> for CharTryFromError[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, 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
    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> + ?Sized
[src]

impl PartialEq<usize> for usize[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl PartialEq<String> for String[src]

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

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

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

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

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<Rc<T>> for Rc<T> where
    T: PartialEq<T> + ?Sized
[src]

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

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 PartialEq<FromUtf8Error> for FromUtf8Error[src]

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

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

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

impl PartialEq<_Unwind_Action> for _Unwind_Action

impl PartialEq<_Unwind_Reason_Code> for _Unwind_Reason_Code

impl PartialEq<PrintFmt> for PrintFmt[src]

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

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

impl PartialEq<CollectionAllocErr> for CollectionAllocErr

impl<T, S1, S2> PartialEq<IndexSet<T, S2>> for IndexSet<T, S1> where
    S1: BuildHasher,
    S2: BuildHasher,
    T: Hash + Eq
[src]

impl<K, V1, S1, V2, S2> PartialEq<IndexMap<K, V2, S2>> for IndexMap<K, V1, S1> where
    K: Hash + Eq,
    S1: BuildHasher,
    S2: BuildHasher,
    V1: PartialEq<V2>, 
[src]

impl PartialEq<Z0> for Z0[src]

impl PartialEq<ATerm> for ATerm[src]

impl PartialEq<Greater> for Greater[src]

impl PartialEq<Equal> for Equal[src]

impl PartialEq<B1> for B1[src]

impl PartialEq<B0> for B0[src]

impl PartialEq<UTerm> for UTerm[src]

impl<U> PartialEq<NInt<U>> for NInt<U> where
    U: NonZero + Unsigned + PartialEq<U>, 
[src]

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

impl<U> PartialEq<PInt<U>> for PInt<U> where
    U: NonZero + Unsigned + PartialEq<U>, 
[src]

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

impl PartialEq<Less> for Less[src]

impl<T> PartialEq<ModInt<T>> for i8 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for i16 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for i32 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for i64 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for u8 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for u16 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for u32 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for u64 where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for isize where
    T: PrimInt
[src]

impl<T> PartialEq<ModInt<T>> for usize where
    T: PrimInt
[src]

Loading content...

Implementors

impl PartialEq<Sign> for Sign[src]

impl PartialEq<Ordering> for competitive_hpp::prelude::Ordering[src]

impl PartialEq<TryReserveError> for TryReserveError[src]

impl PartialEq<ParseBigIntError> for ParseBigIntError[src]

impl PartialEq<ParseRatioError> for ParseRatioError[src]

impl PartialEq<BigInt> for BigInt[src]

impl PartialEq<BigUint> for BigUint[src]

impl PartialEq<Eratosthenes> for Eratosthenes[src]

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

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

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

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

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

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

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

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

impl<E> PartialEq<ParseComplexError<E>> for ParseComplexError<E> where
    E: PartialEq<E>, 
[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 competitive_hpp::prelude::HashMap<K, V, S> where
    K: Eq + Hash,
    S: BuildHasher,
    V: PartialEq<V>, 
[src]

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

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

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

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

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

impl<T> PartialEq<Ratio<T>> for Ratio<T> where
    T: Clone + Integer
[src]

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

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

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

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

impl<T> PartialEq<T> for ModInt<T> where
    T: PrimInt
[src]

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

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

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

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

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

Loading content...