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

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

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

impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError[src]

impl PartialEq<SystemTime> for SystemTime[src]

impl PartialEq<RecvError> for RecvError[src]

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

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

impl PartialEq<AddrParseError> for AddrParseError[src]

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

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

impl PartialEq<OsStr> for str[src]

impl PartialEq<Permissions> for Permissions[src]

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

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

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

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

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

impl PartialEq<SocketAddrV4> for SocketAddrV4[src]

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

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

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

impl PartialEq<CStr> for CStr[src]

impl PartialEq<SocketAddr> for SocketAddr[src]

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

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

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

impl PartialEq<Ipv6Addr> for IpAddr[src]

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

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

impl PartialEq<str> for OsString[src]

impl PartialEq<Shutdown> for Shutdown[src]

impl PartialEq<str> for OsStr[src]

impl PartialEq<Ipv6Addr> for Ipv6Addr[src]

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

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

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

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

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

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

impl PartialEq<PathBuf> for PathBuf[src]

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

impl PartialEq<OsString> for OsString[src]

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

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

impl PartialEq<AccessError> for AccessError[src]

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

impl PartialEq<OsString> for str[src]

impl PartialEq<Instant> for Instant[src]

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

impl PartialEq<Ipv6MulticastScope> for Ipv6MulticastScope[src]

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

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

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

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

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

impl PartialEq<StripPrefixError> for StripPrefixError[src]

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

impl PartialEq<ExitStatus> for ExitStatus[src]

impl PartialEq<IpAddr> for IpAddr[src]

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

impl PartialEq<IntoStringError> for IntoStringError[src]

impl PartialEq<SocketAddrV6> for SocketAddrV6[src]

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

impl PartialEq<Path> for Path[src]

impl PartialEq<ErrorKind> for ErrorKind[src]

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

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

impl PartialEq<OsStr> for OsStr[src]

impl PartialEq<BacktraceStatus> for BacktraceStatus[src]

impl PartialEq<Output> for Output[src]

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

impl PartialEq<IpAddr> for Ipv6Addr[src]

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

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

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

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

impl PartialEq<SeekFrom> for SeekFrom[src]

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

impl PartialEq<Ipv4Addr> for Ipv4Addr[src]

impl PartialEq<RecvTimeoutError> for RecvTimeoutError[src]

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

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

impl PartialEq<VarError> for VarError[src]

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

impl PartialEq<CString> for CString[src]

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

impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]

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

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

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

impl PartialEq<NulError> for NulError[src]

impl PartialEq<Ipv4Addr> for IpAddr[src]

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

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

impl PartialEq<IpAddr> for Ipv4Addr[src]

impl PartialEq<FileType> for FileType[src]

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

impl PartialEq<TryRecvError> for TryRecvError[src]

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

impl PartialEq<bool> for bool[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 PartialEq<Duration> for Duration[src]

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

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

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

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

impl PartialEq<NonZeroI16> for NonZeroI16[src]

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

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

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

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

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

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

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

impl PartialEq<TypeId> for TypeId[src]

impl PartialEq<TryFromIntError> for TryFromIntError[src]

impl PartialEq<ParseIntError> for ParseIntError[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 PartialEq<AllocInit> for AllocInit[src]

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

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

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

impl<Ret, A, B, C, D, 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<Idx> PartialEq<RangeToInclusive<Idx>> for RangeToInclusive<Idx> where
    Idx: PartialEq<Idx>, 
[src]

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

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

impl<T> PartialEq<ManuallyDrop<T>> for ManuallyDrop<T> where
    T: PartialEq<T> + ?Sized
[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<T> PartialEq<Option<T>> for Option<T> where
    T: PartialEq<T>, 
[src]

impl PartialEq<NonZeroU64> for NonZeroU64[src]

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

impl PartialEq<SearchStep> for SearchStep[src]

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

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

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

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

impl<T> PartialEq<Discriminant<T>> for Discriminant<T>[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 PartialEq<NonZeroI128> for NonZeroI128[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<A> PartialEq<(A,)> for (A,) where
    A: PartialEq<A> + ?Sized
[src]

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

impl PartialEq<f64> for f64[src]

impl PartialEq<i8> for i8[src]

impl PartialEq<IntErrorKind> for IntErrorKind[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<Utf8Error> for Utf8Error[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<str> for str[src]

impl PartialEq<RawWaker> for RawWaker[src]

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

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

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

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

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

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

impl<T, E> PartialEq<Result<T, E>> for Result<T, E> where
    E: PartialEq<E>,
    T: PartialEq<T>, 
[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<f32> for f32[src]

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

impl<Ret, A, B, C, D, E, F, G, 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 PartialEq<i32> for i32[src]

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

impl PartialEq<u32> for u32[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<PhantomPinned> for PhantomPinned[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<u16> for u16[src]

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

impl<T> PartialEq<Poll<T>> for Poll<T> where
    T: PartialEq<T>, 
[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 PartialEq<Layout> for Layout[src]

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

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

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

impl PartialEq<Error> for Error[src]

impl PartialEq<NonZeroIsize> for NonZeroIsize[src]

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

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

impl PartialEq<FpCategory> for FpCategory[src]

impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error[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, 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, 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 PartialEq<ParseBoolError> for ParseBoolError[src]

impl PartialEq<NonZeroI64> for NonZeroI64[src]

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

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

impl PartialEq<NoneError> for NoneError[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 PartialEq<Infallible> for Infallible[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 PartialEq<CharTryFromError> for CharTryFromError[src]

impl<T> PartialEq<*mut T> for *mut T where
    T: ?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<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<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret[src]

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

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, 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 PartialEq<NonZeroU128> for NonZeroU128[src]

impl PartialEq<u64> for u64[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 PartialEq<u128> for u128[src]

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

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

impl<Ret, A, B, C, D, E, F, G> 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<&'_ mut B> for &'_ A where
    A: PartialEq<B> + ?Sized,
    B: ?Sized
[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<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 PartialEq<NonZeroU16> for NonZeroU16[src]

impl PartialEq<ReallocPlacement> for ReallocPlacement[src]

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

impl PartialEq<NonZeroU8> for NonZeroU8[src]

impl PartialEq<NonZeroUsize> for NonZeroUsize[src]

impl<Idx> PartialEq<RangeFrom<Idx>> for RangeFrom<Idx> where
    Idx: PartialEq<Idx>, 
[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<i64> for i64[src]

impl PartialEq<NonZeroI8> for NonZeroI8[src]

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

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

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

impl<'a, 'b> PartialEq<&'a str> for String[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<'a, 'b> PartialEq<str> for String[src]

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

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

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

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

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<String> for &'a str[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<Vec<B>> for Vec<A> where
    A: PartialEq<B>, 
[src]

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

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

impl<'a, 'b> PartialEq<Cow<'a, str>> for String[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 str> for Cow<'a, str>[src]

impl PartialEq<String> for String[src]

impl<'_, A, B> PartialEq<&'_ mut [B]> for Vec<A> where
    A: PartialEq<B>, 
[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<'a, 'b> PartialEq<String> for str[src]

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

impl PartialEq<_Unwind_Action> for _Unwind_Action

impl PartialEq<_Unwind_Reason_Code> for _Unwind_Reason_Code

impl PartialEq<PrintFmt> for PrintFmt[src]

impl PartialEq<CollectionAllocErr> for CollectionAllocErr

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

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

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<T, S1, S2> PartialEq<IndexSet<T, S2>> for IndexSet<T, S1> where
    S1: BuildHasher,
    S2: BuildHasher,
    T: Hash + Eq
[src]

impl PartialEq<ATerm> for ATerm[src]

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

impl PartialEq<UTerm> for UTerm[src]

impl PartialEq<B0> for B0[src]

impl PartialEq<Equal> for Equal[src]

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

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

impl PartialEq<B1> for B1[src]

impl PartialEq<Less> for Less[src]

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

impl PartialEq<Z0> for Z0[src]

impl PartialEq<Greater> for Greater[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...