1.0.0[][src]Trait scale_info::prelude::cmp::PartialEq

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

Trait for equality comparisons which are partial equivalence relations.

This trait allows for partial equality, for types that do not have a full equivalence relation. For example, in floating point numbers NaN != NaN, so floating point types implement PartialEq but not Eq.

Formally, the equality must be (for all a, b 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]pub fn eq(&self, other: &Rhs) -> bool[src]

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

Loading content...

Provided methods

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

This method tests for !=.

Loading content...

Implementations on Foreign Types

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

impl PartialEq<RecvError> for RecvError[src]

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

impl PartialEq<Permissions> for Permissions[src]

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

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

impl PartialEq<OsStr> for str[src]

impl PartialEq<SystemTime> for SystemTime[src]

impl PartialEq<SocketAddrV6> for SocketAddrV6[src]

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

impl PartialEq<Ipv6Addr> for Ipv6Addr[src]

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

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

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

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

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

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

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

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

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

impl PartialEq<str> for OsStr[src]

impl PartialEq<ErrorKind> for ErrorKind[src]

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

impl PartialEq<Ipv4Addr> for IpAddr[src]

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

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

impl PartialEq<ThreadId> for ThreadId[src]

impl PartialEq<Shutdown> for Shutdown[src]

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

impl PartialEq<FileType> for FileType[src]

impl PartialEq<CString> for CString[src]

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

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

impl PartialEq<SeekFrom> for SeekFrom[src]

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

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

impl PartialEq<IpAddr> for Ipv4Addr[src]

impl PartialEq<AddrParseError> for AddrParseError[src]

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

impl PartialEq<IntoStringError> for IntoStringError[src]

impl PartialEq<Instant> for Instant[src]

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

impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]

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

impl PartialEq<Ipv4Addr> for Ipv4Addr[src]

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

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

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

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

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

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

impl PartialEq<Output> for Output[src]

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

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

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

impl PartialEq<NulError> for NulError[src]

impl PartialEq<OsStr> for OsStr[src]

impl PartialEq<Ipv6MulticastScope> for Ipv6MulticastScope[src]

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

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

impl PartialEq<FromVecWithNulError> for FromVecWithNulError[src]

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

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

impl PartialEq<TryRecvError> for TryRecvError[src]

impl PartialEq<BacktraceStatus> for BacktraceStatus[src]

impl PartialEq<StripPrefixError> for StripPrefixError[src]

impl PartialEq<ExitStatus> for ExitStatus[src]

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

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

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

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

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

impl PartialEq<OsString> for str[src]

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

impl PartialEq<IpAddr> for IpAddr[src]

impl PartialEq<RecvTimeoutError> for RecvTimeoutError[src]

impl PartialEq<Ipv6Addr> for IpAddr[src]

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

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

impl PartialEq<SocketAddr> for SocketAddr[src]

impl PartialEq<VarError> for VarError[src]

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

impl PartialEq<SocketAddrV4> for SocketAddrV4[src]

impl PartialEq<Path> for Path[src]

impl PartialEq<IpAddr> for Ipv6Addr[src]

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

impl PartialEq<OsString> for OsString[src]

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

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

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

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

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

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

impl PartialEq<str> for OsString[src]

impl PartialEq<AccessError> for AccessError[src]

impl PartialEq<PathBuf> for PathBuf[src]

impl PartialEq<CStr> for CStr[src]

impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError[src]

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

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

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

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

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

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

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

impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error[src]

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

impl PartialEq<AllocError> for AllocError[src]

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

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

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

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

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

impl PartialEq<str> for str[src]

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

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

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

impl PartialEq<char> for char[src]

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

impl PartialEq<u32> for u32[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<!> for ![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<Cell<T>> for Cell<T> where
    T: PartialEq<T> + Copy
[src]

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

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

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

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

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

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

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

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

impl PartialEq<RawWakerVTable> for RawWakerVTable[src]

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

impl PartialEq<i32> for i32[src]

impl PartialEq<ParseBoolError> for ParseBoolError[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<()> for ()[src]

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

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

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

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

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

impl PartialEq<u8> for u8[src]

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

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

impl PartialEq<ParseCharError> for ParseCharError[src]

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

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

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

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

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

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

impl PartialEq<i128> for i128[src]

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

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

impl PartialEq<u16> for u16[src]

impl<Idx> PartialEq<RangeFrom<Idx>> for RangeFrom<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 PartialEq<Ordering> for Ordering[src]

impl PartialEq<f32> for f32[src]

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

impl PartialEq<u128> for u128[src]

impl PartialEq<RangeFull> for RangeFull[src]

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

impl PartialEq<f64> for f64[src]

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

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

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

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

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

impl PartialEq<isize> for isize[src]

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

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

impl<Ret, A, B, C, D, E, F, G, H> 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<RefCell<T>> for RefCell<T> where
    T: PartialEq<T> + ?Sized
[src]

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

Panics

Panics if the value in either RefCell is currently borrowed.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl PartialEq<LayoutError> for LayoutError[src]

impl PartialEq<i16> for i16[src]

impl PartialEq<Utf8Error> for Utf8Error[src]

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

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

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

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

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

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

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

Equality for two Rcs.

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

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

Examples

use std::rc::Rc;

let five = Rc::new(5);

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

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

Inequality for two Rcs.

Two Rcs are unequal if their inner values are unequal.

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

Examples

use std::rc::Rc;

let five = Rc::new(5);

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

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

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

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

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

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

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

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

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

Equality for two Arcs.

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

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

Examples

use std::sync::Arc;

let five = Arc::new(5);

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

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

Inequality for two Arcs.

Two Arcs are unequal if their inner values are unequal.

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

Examples

use std::sync::Arc;

let five = Arc::new(5);

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

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

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

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

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

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

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

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

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

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

impl PartialEq<Error> for Error[src]

impl PartialEq<OptionBool> for OptionBool[src]

impl<A> PartialEq<ArrayVec<A>> for ArrayVec<A> where
    A: Array,
    <A as Array>::Item: PartialEq<<A as Array>::Item>, 
[src]

impl<A> PartialEq<[<A as Array>::Item]> for ArrayVec<A> where
    A: Array,
    <A as Array>::Item: PartialEq<<A as Array>::Item>, 
[src]

impl<A> PartialEq<ArrayString<A>> for ArrayString<A> where
    A: Array<Item = u8> + Copy
[src]

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

impl<A> PartialEq<ArrayString<A>> for str where
    A: Array<Item = u8> + Copy
[src]

impl<A> PartialEq<str> for ArrayString<A> where
    A: Array<Item = u8> + Copy
[src]

impl PartialEq<Error> for Error

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

impl PartialEq<Error> for Error[src]

Loading content...

Implementors

impl PartialEq<PathError> for PathError[src]

impl PartialEq<TypeDefPrimitive> for TypeDefPrimitive[src]

impl PartialEq<MetaForm> for MetaForm[src]

impl PartialEq<Ordering> for scale_info::prelude::cmp::Ordering[src]

impl PartialEq<TryReserveError> for TryReserveError[src]

impl PartialEq<FpCategory> for FpCategory[src]

impl PartialEq<IntErrorKind> for IntErrorKind[src]

impl PartialEq<TypeId> for TypeId[src]

impl PartialEq<Error> for scale_info::prelude::fmt::Error[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

impl PartialEq<ParseFloatError> for ParseFloatError[src]

impl PartialEq<ParseIntError> for ParseIntError[src]

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

impl PartialEq<FromUtf8Error> for FromUtf8Error[src]

impl PartialEq<String> for String[src]

impl PartialEq<MetaType> for MetaType[src]

impl PartialEq<Registry> for Registry[src]

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

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

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

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

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

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

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

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

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

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

impl<'a, T: PartialEq> PartialEq<Symbol<'a, T>> for Symbol<'a, T>[src]

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

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

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

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

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

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

impl<S: PartialEq> PartialEq<PortableForm<S>> for PortableForm<S>[src]

impl<S: PartialEq> PartialEq<PortableRegistry<S>> for PortableRegistry<S> where
    S: FormString
[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T: PartialEq + Form> PartialEq<TypeDef<T>> for TypeDef<T>[src]

impl<T: PartialEq + Form> PartialEq<Field<T>> for Field<T> where
    T::String: PartialEq,
    T::Type: PartialEq,
    T::String: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<Path<T>> for scale_info::Path<T> where
    T::String: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<Type<T>> for Type<T> where
    T::Type: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<TypeDefArray<T>> for TypeDefArray<T> where
    T::Type: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<TypeDefComposite<T>> for TypeDefComposite<T>[src]

impl<T: PartialEq + Form> PartialEq<TypeDefPhantom<T>> for TypeDefPhantom<T> where
    T::Type: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<TypeDefSequence<T>> for TypeDefSequence<T> where
    T::Type: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<TypeDefTuple<T>> for TypeDefTuple<T> where
    T::Type: PartialEq
[src]

impl<T: PartialEq + Form> PartialEq<TypeDefVariant<T>> for TypeDefVariant<T>[src]

impl<T: PartialEq + Form> PartialEq<Variant<T>> for Variant<T> where
    T::String: PartialEq
[src]

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

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

Loading content...