1.0.0[−][src]Trait nom::lib::std::cmp::PartialEq
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 == bimpliesb == a; and - transitive:
a == bandb == cimpliesa == 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 ==.
Provided methods
Loading content...Implementations on Foreign Types
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsString[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr[src]
impl PartialEq<VarError> for VarError[src]
impl<'a, 'b> PartialEq<OsString> for PathBuf[src]
impl PartialEq<str> for OsStr[src]
impl PartialEq<BacktraceStatus> for BacktraceStatus[src]
fn eq(&self, other: &BacktraceStatus) -> bool[src]
impl PartialEq<SystemTime> for SystemTime[src]
fn eq(&self, other: &SystemTime) -> bool[src]
fn ne(&self, other: &SystemTime) -> bool[src]
impl<'a, 'b> PartialEq<OsStr> for PathBuf[src]
impl PartialEq<PathBuf> for PathBuf[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr[src]
impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, OsStr>[src]
impl PartialEq<SocketAddrV4> for SocketAddrV4[src]
fn eq(&self, other: &SocketAddrV4) -> bool[src]
impl<'a, 'b> PartialEq<&'a OsStr> for PathBuf[src]
impl PartialEq<Instant> for Instant[src]
impl PartialEq<Shutdown> for Shutdown[src]
impl PartialEq<ErrorKind> for ErrorKind[src]
impl PartialEq<OsStr> for OsStr[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for PathBuf[src]
impl PartialEq<OsString> for str[src]
impl<'a, 'b> PartialEq<PathBuf> for OsString[src]
impl<'a, 'b> PartialEq<OsString> for Path[src]
impl PartialEq<SocketAddr> for SocketAddr[src]
fn eq(&self, other: &SocketAddr) -> bool[src]
fn ne(&self, other: &SocketAddr) -> bool[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b Path[src]
impl<'a, 'b> PartialEq<OsStr> for &'a Path[src]
impl PartialEq<CString> for CString[src]
impl<'a, 'b> PartialEq<Cow<'b, OsStr>> for &'a Path[src]
impl<'a, 'b> PartialEq<OsString> for &'a Path[src]
impl<'a, 'b> PartialEq<&'a Path> for PathBuf[src]
impl<'a, 'b> PartialEq<Path> for OsStr[src]
impl PartialEq<IpAddr> for Ipv6Addr[src]
impl<'a, 'b> PartialEq<OsString> for OsStr[src]
impl<T> PartialEq<TrySendError<T>> for TrySendError<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
fn eq(&self, other: &TrySendError<T>) -> bool[src]
fn ne(&self, other: &TrySendError<T>) -> bool[src]
impl<T> PartialEq<Cursor<T>> for Cursor<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<'a, 'b> PartialEq<Path> for &'a OsStr[src]
impl<'a, 'b> PartialEq<Path> for Cow<'a, Path>[src]
impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, Path>[src]
impl PartialEq<Ipv6MulticastScope> for Ipv6MulticastScope[src]
fn eq(&self, other: &Ipv6MulticastScope) -> bool[src]
impl<'a> PartialEq<Prefix<'a>> for Prefix<'a>[src]
impl<'a, 'b> PartialEq<OsStr> for Cow<'a, Path>[src]
impl PartialEq<ThreadId> for ThreadId[src]
impl<'a, 'b> PartialEq<Path> for OsString[src]
impl PartialEq<RecvError> for RecvError[src]
impl PartialEq<NulError> for NulError[src]
impl<'a, 'b> PartialEq<PathBuf> for OsStr[src]
impl<'a, 'b> PartialEq<&'b Path> for Cow<'a, Path>[src]
impl PartialEq<FileType> for FileType[src]
impl<'a, 'b> PartialEq<OsString> for Cow<'a, Path>[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr[src]
impl PartialEq<Ipv4Addr> for IpAddr[src]
impl<'a> PartialEq<Component<'a>> for Component<'a>[src]
impl PartialEq<Path> for Path[src]
impl PartialEq<Ipv6Addr> for IpAddr[src]
impl PartialEq<ExitStatus> for ExitStatus[src]
fn eq(&self, other: &ExitStatus) -> bool[src]
fn ne(&self, other: &ExitStatus) -> bool[src]
impl PartialEq<OsStr> for str[src]
impl<'a, 'b> PartialEq<PathBuf> for &'a Path[src]
impl<'a, 'b> PartialEq<Path> for Cow<'a, OsStr>[src]
impl PartialEq<Ipv4Addr> for Ipv4Addr[src]
impl<'a, 'b> PartialEq<&'a Path> for Cow<'b, OsStr>[src]
impl<'a, 'b> PartialEq<PathBuf> for &'a OsStr[src]
impl<'a, 'b> PartialEq<OsStr> for Cow<'a, OsStr>[src]
impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError[src]
fn eq(&self, other: &FromBytesWithNulError) -> bool[src]
fn ne(&self, other: &FromBytesWithNulError) -> bool[src]
impl PartialEq<SeekFrom> for SeekFrom[src]
impl<'a, 'b> PartialEq<&'a OsStr> for Path[src]
impl PartialEq<IpAddr> for Ipv4Addr[src]
impl<'a, 'b> PartialEq<OsStr> for Path[src]
impl<'a, 'b> PartialEq<OsStr> for OsString[src]
impl PartialEq<StripPrefixError> for StripPrefixError[src]
fn eq(&self, other: &StripPrefixError) -> bool[src]
fn ne(&self, other: &StripPrefixError) -> bool[src]
impl<'a, 'b> PartialEq<PathBuf> for Path[src]
impl PartialEq<IntoStringError> for IntoStringError[src]
fn eq(&self, other: &IntoStringError) -> bool[src]
fn ne(&self, other: &IntoStringError) -> bool[src]
impl PartialEq<str> for OsString[src]
impl PartialEq<AccessError> for AccessError[src]
fn eq(&self, other: &AccessError) -> bool[src]
fn ne(&self, other: &AccessError) -> bool[src]
impl PartialEq<Output> for Output[src]
impl PartialEq<CStr> for CStr[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for PathBuf[src]
impl PartialEq<AddrParseError> for AddrParseError[src]
fn eq(&self, other: &AddrParseError) -> bool[src]
fn ne(&self, other: &AddrParseError) -> bool[src]
impl<'a, 'b> PartialEq<OsString> for &'a OsStr[src]
impl PartialEq<Permissions> for Permissions[src]
fn eq(&self, other: &Permissions) -> bool[src]
fn ne(&self, other: &Permissions) -> bool[src]
impl<'a, 'b> PartialEq<OsString> for Cow<'a, OsStr>[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsString[src]
impl PartialEq<RecvTimeoutError> for RecvTimeoutError[src]
fn eq(&self, other: &RecvTimeoutError) -> bool[src]
impl<'a, 'b> PartialEq<&'a Path> for OsString[src]
impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]
fn eq(&self, other: &WaitTimeoutResult) -> bool[src]
fn ne(&self, other: &WaitTimeoutResult) -> bool[src]
impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, Path>[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for Path[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for Path[src]
impl<'a> PartialEq<Components<'a>> for Components<'a>[src]
fn eq(&self, other: &Components<'a>) -> bool[src]
impl<'a, 'b> PartialEq<Path> for PathBuf[src]
impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, OsStr>[src]
impl PartialEq<TryRecvError> for TryRecvError[src]
fn eq(&self, other: &TryRecvError) -> bool[src]
impl<T> PartialEq<SendError<T>> for SendError<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl PartialEq<IpAddr> for IpAddr[src]
impl<'a, 'b> PartialEq<&'a Path> for OsStr[src]
impl<'a> PartialEq<PrefixComponent<'a>> for PrefixComponent<'a>[src]
fn eq(&self, other: &PrefixComponent<'a>) -> bool[src]
impl<'a, 'b> PartialEq<&'a OsStr> for OsString[src]
impl PartialEq<OsString> for OsString[src]
impl PartialEq<SocketAddrV6> for SocketAddrV6[src]
fn eq(&self, other: &SocketAddrV6) -> bool[src]
impl<'_> PartialEq<&'_ str> for OsString[src]
impl<'a> PartialEq<OsString> for &'a str[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsStr[src]
impl PartialEq<Ipv6Addr> for Ipv6Addr[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> PartialEq<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Ret[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<unsafe 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<'b, const N: usize, A, B> PartialEq<&'b [B]> for [A; N] where
A: PartialEq<B>,
[A; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[A; N]: LengthAtMost32,
impl<T> PartialEq<Wrapping<T>> for Wrapping<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<'b, const N: usize, A, B> PartialEq<[A; N]> for &'b [B] where
B: PartialEq<A>,
[A; N]: LengthAtMost32, [src]
B: PartialEq<A>,
[A; N]: LengthAtMost32,
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, 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 PartialEq<f64> for f64[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]
fn eq(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
) -> bool[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
) -> bool
impl PartialEq<!> for ![src]
impl PartialEq<i8> for i8[src]
impl PartialEq<i16> for i16[src]
impl<const N: usize, A, B> PartialEq<[A; N]> for [B] where
B: PartialEq<A>,
[A; N]: LengthAtMost32, [src]
B: PartialEq<A>,
[A; N]: LengthAtMost32,
impl<Ret, A> PartialEq<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> 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]
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G> + ?Sized,
fn eq(&self, other: &(A, B, C, D, E, F, G)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F, G)) -> bool[src]
impl PartialEq<NonZeroU64> for NonZeroU64[src]
fn eq(&self, other: &NonZeroU64) -> bool[src]
fn ne(&self, other: &NonZeroU64) -> bool[src]
impl PartialEq<i128> for i128[src]
impl<'a> PartialEq<Utf8LossyChunk<'a>> for Utf8LossyChunk<'a>[src]
fn eq(&self, other: &Utf8LossyChunk<'a>) -> bool[src]
fn ne(&self, other: &Utf8LossyChunk<'a>) -> bool[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 PartialEq<LayoutErr> for LayoutErr[src]
impl PartialEq<CannotReallocInPlace> for CannotReallocInPlace[src]
fn eq(&self, other: &CannotReallocInPlace) -> bool[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<u64> for u64[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> 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]
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E> + ?Sized,
fn eq(&self, other: &(A, B, C, D, E)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E)) -> bool[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]
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F> + ?Sized,
fn eq(&self, other: &(A, B, C, D, E, F)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F)) -> bool[src]
impl PartialEq<RawWaker> for RawWaker[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> 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, 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]
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,
fn eq(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool[src]
impl PartialEq<RawWakerVTable> for RawWakerVTable[src]
fn eq(&self, other: &RawWakerVTable) -> bool[src]
fn ne(&self, other: &RawWakerVTable) -> bool[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]
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,
fn eq(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool[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, 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]
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D> + ?Sized,
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> 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<ParseFloatError> for ParseFloatError[src]
fn eq(&self, other: &ParseFloatError) -> bool[src]
fn ne(&self, other: &ParseFloatError) -> bool[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<T> PartialEq<*const T> for *const T where
T: ?Sized, [src]
T: ?Sized,
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret[src]
impl<Ret, A, B> PartialEq<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> Ret[src]
impl PartialEq<ParseCharError> for ParseCharError[src]
fn eq(&self, other: &ParseCharError) -> bool[src]
fn ne(&self, other: &ParseCharError) -> bool[src]
impl PartialEq<NonZeroI32> for NonZeroI32[src]
fn eq(&self, other: &NonZeroI32) -> bool[src]
fn ne(&self, other: &NonZeroI32) -> bool[src]
impl<T> PartialEq<*mut T> for *mut T where
T: ?Sized, [src]
T: ?Sized,
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> PartialEq<fn() -> Ret> for fn() -> 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<NonZeroUsize> for NonZeroUsize[src]
fn eq(&self, other: &NonZeroUsize) -> bool[src]
fn ne(&self, other: &NonZeroUsize) -> bool[src]
impl PartialEq<Ordering> for Ordering[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> PartialEq<unsafe fn(A, B, C, D, E, F) -> Ret> for unsafe fn(A, B, C, D, E, F) -> Ret[src]
impl<'b, const N: usize, A, B> PartialEq<&'b mut [B]> for [A; N] where
A: PartialEq<B>,
[A; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[A; N]: LengthAtMost32,
fn eq(&self, other: &&'b mut [B]) -> bool[src]
fn ne(&self, other: &&'b mut [B]) -> bool[src]
impl PartialEq<i64> for i64[src]
impl<T> PartialEq<Poll<T>> for Poll<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<Ret, A> PartialEq<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> Ret[src]
impl PartialEq<Duration> for Duration[src]
impl PartialEq<char> for char[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<fn(A, B, C, D, E, F, G) -> Ret> for fn(A, B, C, D, E, F, G) -> Ret[src]
impl PartialEq<CpuidResult> for CpuidResult[src]
fn eq(&self, other: &CpuidResult) -> bool[src]
fn ne(&self, other: &CpuidResult) -> bool[src]
impl PartialEq<NonZeroU32> for NonZeroU32[src]
fn eq(&self, other: &NonZeroU32) -> bool[src]
fn ne(&self, other: &NonZeroU32) -> bool[src]
impl<const N: usize, A, B> PartialEq<[B]> for [A; N] where
A: PartialEq<B>,
[A; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[A; N]: LengthAtMost32,
impl<'_, '_, A, B> PartialEq<&'_ B> for &'_ A where
A: PartialEq<B> + ?Sized,
B: ?Sized, [src]
A: PartialEq<B> + ?Sized,
B: ?Sized,
impl<Ret, A> PartialEq<fn(A) -> Ret> for fn(A) -> Ret[src]
impl PartialEq<u32> for u32[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<f32> for f32[src]
impl PartialEq<()> for ()[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]
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,
fn eq(&self, other: &(A, B, C, D, E, F, G, H)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F, G, H)) -> bool[src]
impl PartialEq<ParseIntError> for ParseIntError[src]
fn eq(&self, other: &ParseIntError) -> bool[src]
fn ne(&self, other: &ParseIntError) -> bool[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret[src]
impl<Ret, A, B, C, D, E, F, G, H, I> 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 PartialEq<CharTryFromError> for CharTryFromError[src]
fn eq(&self, other: &CharTryFromError) -> bool[src]
fn ne(&self, other: &CharTryFromError) -> bool[src]
impl<Ret, A, B, C> PartialEq<extern "C" fn(A, B, C) -> Ret> for extern "C" fn(A, B, C) -> Ret[src]
impl<'_, '_, A, B> PartialEq<&'_ mut B> for &'_ mut A where
A: PartialEq<B> + ?Sized,
B: ?Sized, [src]
A: PartialEq<B> + ?Sized,
B: ?Sized,
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret[src]
impl<A, B> PartialEq<(A, B)> for (A, B) where
A: PartialEq<A>,
B: PartialEq<B> + ?Sized, [src]
A: PartialEq<A>,
B: PartialEq<B> + ?Sized,
impl<T> PartialEq<NonNull<T>> for NonNull<T> where
T: ?Sized, [src]
T: ?Sized,
impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret[src]
impl<Ret, A, B, C, D> PartialEq<extern "C" fn(A, B, C, D, ...) -> Ret> for extern "C" fn(A, B, C, D, ...) -> Ret[src]
impl<'b, const N: usize, A, B> PartialEq<[A; N]> for &'b mut [B] where
B: PartialEq<A>,
[A; N]: LengthAtMost32, [src]
B: PartialEq<A>,
[A; N]: LengthAtMost32,
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<fn(A, B) -> Ret> for fn(A, B) -> Ret[src]
impl<Ret, A, B, C, D, E> PartialEq<unsafe fn(A, B, C, D, E) -> Ret> for unsafe fn(A, B, C, D, E) -> Ret[src]
impl<Ret, A, B, C, D, E> PartialEq<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> Ret[src]
impl<Ret> PartialEq<extern "C" fn() -> Ret> for extern "C" fn() -> Ret[src]
impl<A, B, C, D, E, F, G, H, I, J, K> PartialEq<(A, B, C, D, E, F, G, H, I, J, K)> for (A, B, C, D, E, F, G, H, I, J, K) where
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]
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,
fn eq(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool[src]
impl PartialEq<NonZeroIsize> for NonZeroIsize[src]
fn eq(&self, other: &NonZeroIsize) -> bool[src]
fn ne(&self, other: &NonZeroIsize) -> 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<NonZeroI8> for NonZeroI8[src]
impl<Ret, A, B> PartialEq<extern "C" fn(A, B, ...) -> Ret> for extern "C" fn(A, B, ...) -> Ret[src]
impl<Ret, A, B, C, D, E, F, 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> PartialEq<unsafe extern "C" fn(A, B, C, D, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, ...) -> Ret[src]
impl PartialEq<NonZeroU8> for NonZeroU8[src]
impl PartialEq<bool> for bool[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<P, Q> PartialEq<Pin<Q>> for Pin<P> where
P: Deref,
Q: Deref,
<P as Deref>::Target: PartialEq<<Q as Deref>::Target>, [src]
P: Deref,
Q: Deref,
<P as Deref>::Target: PartialEq<<Q as Deref>::Target>,
impl PartialEq<FpCategory> for FpCategory[src]
fn eq(&self, other: &FpCategory) -> bool[src]
impl PartialEq<u8> for u8[src]
impl<const N: usize, A, B> PartialEq<[B; N]> for [A; N] where
A: PartialEq<B>,
[A; N]: LengthAtMost32,
[B; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[A; N]: LengthAtMost32,
[B; N]: LengthAtMost32,
impl<'_, '_, A, B> PartialEq<&'_ B> for &'_ mut A where
A: PartialEq<B> + ?Sized,
B: ?Sized, [src]
A: PartialEq<B> + ?Sized,
B: ?Sized,
impl<A, B> PartialEq<[B]> for [A] where
A: PartialEq<B>, [src]
A: PartialEq<B>,
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]
T: PartialEq<T> + ?Sized,
fn eq(&self, other: &RefCell<T>) -> bool[src]
Panics
Panics if the value in either RefCell is currently borrowed.
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> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret[src]
impl<Ret, A, B> PartialEq<unsafe fn(A, B) -> Ret> for unsafe fn(A, B) -> Ret[src]
impl<Ret, A> PartialEq<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> Ret[src]
impl<Ret, A, B, C, D, E, F, G, H, I, 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<fn(A, B, C, D) -> Ret> for fn(A, B, C, D) -> Ret[src]
impl<Ret, A, B, C, D, E, F> PartialEq<fn(A, B, C, D, E, F) -> Ret> for fn(A, B, C, D, E, F) -> Ret[src]
impl<A, B, C> PartialEq<(A, B, C)> for (A, B, C) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C> + ?Sized, [src]
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C> + ?Sized,
impl<T> PartialEq<Cell<T>> for Cell<T> where
T: PartialEq<T> + Copy, [src]
T: PartialEq<T> + Copy,
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<i32> for i32[src]
impl<T> PartialEq<PhantomData<T>> for PhantomData<T> where
T: ?Sized, [src]
T: ?Sized,
fn eq(&self, _other: &PhantomData<T>) -> bool[src]
impl<Ret, A, B, C> PartialEq<fn(A, B, C) -> Ret> for fn(A, B, C) -> Ret[src]
impl PartialEq<NonZeroU16> for NonZeroU16[src]
fn eq(&self, other: &NonZeroU16) -> bool[src]
fn ne(&self, other: &NonZeroU16) -> bool[src]
impl<Ret, A, B> PartialEq<unsafe extern "C" fn(A, B, ...) -> Ret> for unsafe extern "C" fn(A, B, ...) -> Ret[src]
impl<Ret, A, B, C, D, E, F, G, H, I, 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 PartialEq<NonZeroI64> for NonZeroI64[src]
fn eq(&self, other: &NonZeroI64) -> bool[src]
fn ne(&self, other: &NonZeroI64) -> bool[src]
impl<A> PartialEq<(A,)> for (A,) where
A: PartialEq<A> + ?Sized, [src]
A: PartialEq<A> + ?Sized,
impl PartialEq<AllocErr> for AllocErr[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<u128> for u128[src]
impl PartialEq<NonZeroU128> for NonZeroU128[src]
fn eq(&self, other: &NonZeroU128) -> bool[src]
fn ne(&self, other: &NonZeroU128) -> bool[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> PartialEq<fn(A, B, C, D, E, F, G, H) -> Ret> for fn(A, B, C, D, E, F, G, H) -> Ret[src]
impl<Ret, A, B, C, D, E> PartialEq<extern "C" fn(A, B, C, D, E, ...) -> Ret> for extern "C" 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<TypeId> for TypeId[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> PartialEq<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Ret[src]
impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error[src]
fn eq(&self, other: &DecodeUtf16Error) -> bool[src]
fn ne(&self, other: &DecodeUtf16Error) -> bool[src]
impl PartialEq<str> for str[src]
impl PartialEq<IntErrorKind> for IntErrorKind[src]
fn eq(&self, other: &IntErrorKind) -> bool[src]
impl PartialEq<NonZeroI128> for NonZeroI128[src]
fn eq(&self, other: &NonZeroI128) -> bool[src]
fn ne(&self, other: &NonZeroI128) -> bool[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> 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, 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> PartialEq<unsafe extern "C" fn(A, B) -> Ret> for unsafe extern "C" fn(A, B) -> Ret[src]
impl PartialEq<usize> for usize[src]
impl PartialEq<u16> for u16[src]
impl<Ret, A> PartialEq<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> Ret[src]
impl PartialEq<PhantomPinned> for PhantomPinned[src]
fn eq(&self, other: &PhantomPinned) -> bool[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<UnicodeVersion> for UnicodeVersion[src]
fn eq(&self, other: &UnicodeVersion) -> bool[src]
fn ne(&self, other: &UnicodeVersion) -> bool[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]
fn eq(
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
) -> bool[src]
&self,
other: &unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
) -> bool
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> PartialEq<unsafe fn(A) -> Ret> for unsafe 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<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]
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,
fn eq(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool[src]
fn ne(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool[src]
impl PartialEq<TryFromIntError> for TryFromIntError[src]
fn eq(&self, other: &TryFromIntError) -> bool[src]
fn ne(&self, other: &TryFromIntError) -> bool[src]
impl<Ret, A, B, C> PartialEq<unsafe fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> Ret[src]
impl PartialEq<NonZeroI16> for NonZeroI16[src]
fn eq(&self, other: &NonZeroI16) -> bool[src]
fn ne(&self, other: &NonZeroI16) -> bool[src]
impl<Ret, A, B, C, D, E> PartialEq<extern "C" fn(A, B, C, D, E) -> Ret> for extern "C" fn(A, B, C, D, E) -> Ret[src]
impl<'_, '_, A, B> PartialEq<&'_ mut B> for &'_ A where
A: PartialEq<B> + ?Sized,
B: ?Sized, [src]
A: PartialEq<B> + ?Sized,
B: ?Sized,
impl PartialEq<isize> for isize[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<String> for str[src]
impl<'_, '_, A, B> PartialEq<&'_ [B]> for Cow<'_, [A]> where
A: PartialEq<B> + Clone, [src]
A: PartialEq<B> + Clone,
impl<T> PartialEq<Arc<T>> for Arc<T> where
T: PartialEq<T> + ?Sized, [src]
T: PartialEq<T> + ?Sized,
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<Vec<B>> for Cow<'_, [A]> where
A: PartialEq<B> + Clone, [src]
A: PartialEq<B> + Clone,
impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>[src]
impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str[src]
impl<'a, 'b> PartialEq<str> for Cow<'a, str>[src]
impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B> where
B: PartialEq<C> + ToOwned + ?Sized,
C: ToOwned + ?Sized, [src]
B: PartialEq<C> + ToOwned + ?Sized,
C: ToOwned + ?Sized,
impl<'a, 'b> PartialEq<String> for &'a str[src]
impl<'a, 'b> PartialEq<String> for Cow<'a, str>[src]
impl<T> PartialEq<Rc<T>> for Rc<T> where
T: PartialEq<T> + ?Sized, [src]
T: PartialEq<T> + ?Sized,
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<'a, 'b> PartialEq<Cow<'a, str>> for str[src]
impl<'_, '_, A, B> PartialEq<&'_ mut [B]> for Cow<'_, [A]> where
A: PartialEq<B> + Clone, [src]
A: PartialEq<B> + Clone,
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, [src]
S: BuildHasher,
T: Eq + Hash,
impl PartialEq<CollectionAllocErr> for CollectionAllocErr[src]
fn eq(&self, other: &CollectionAllocErr) -> bool[src]
fn ne(&self, other: &CollectionAllocErr) -> bool[src]
impl<K, V, S> PartialEq<HashMap<K, V, S>> for HashMap<K, V, S> where
K: Eq + Hash,
S: BuildHasher,
V: PartialEq<V>, [src]
Loading content...
K: Eq + Hash,
S: BuildHasher,
V: PartialEq<V>,
Implementors
impl PartialEq<SearchStep> for SearchStep[src]
fn eq(&self, other: &SearchStep) -> bool[src]
fn ne(&self, other: &SearchStep) -> bool[src]
impl PartialEq<Infallible> for Infallible[src]
fn eq(&self, &Infallible) -> bool[src]
impl PartialEq<Error> for Error[src]
impl PartialEq<NoneError> for NoneError[src]
impl PartialEq<RangeFull> for RangeFull[src]
impl PartialEq<ParseBoolError> for ParseBoolError[src]
fn eq(&self, other: &ParseBoolError) -> bool[src]
fn ne(&self, other: &ParseBoolError) -> bool[src]
impl PartialEq<Ordering> for nom::lib::std::cmp::Ordering[src]
impl PartialEq<TryReserveError> for TryReserveError[src]
fn eq(&self, other: &TryReserveError) -> bool[src]
fn ne(&self, other: &TryReserveError) -> bool[src]
impl PartialEq<Needed> for Needed[src]
impl PartialEq<CompareResult> for CompareResult[src]
fn eq(&self, other: &CompareResult) -> bool[src]
impl PartialEq<Endianness> for Endianness[src]
fn eq(&self, other: &Endianness) -> bool[src]
impl PartialEq<String> for String[src]
impl PartialEq<Utf8Error> for Utf8Error[src]
impl PartialEq<FromUtf8Error> for FromUtf8Error[src]
fn eq(&self, other: &FromUtf8Error) -> bool[src]
fn ne(&self, other: &FromUtf8Error) -> bool[src]
impl<'_, A, B> PartialEq<&'_ [B]> for VecDeque<A> where
A: PartialEq<B>, [src]
A: PartialEq<B>,
impl<'_, A, B> PartialEq<&'_ [B]> for Vec<A> where
A: PartialEq<B>, [src]
A: PartialEq<B>,
impl<'_, A, B> PartialEq<&'_ mut [B]> for VecDeque<A> where
A: PartialEq<B>, [src]
A: PartialEq<B>,
impl<'_, A, B> PartialEq<&'_ mut [B]> for Vec<A> where
A: PartialEq<B>, [src]
A: PartialEq<B>,
impl<'_, const N: usize, A, B> PartialEq<&'_ [B; N]> for VecDeque<A> where
A: PartialEq<B>,
[B; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[B; N]: LengthAtMost32,
impl<'_, const N: usize, A, B> PartialEq<&'_ [B; N]> for Vec<A> where
A: PartialEq<B>,
[B; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[B; N]: LengthAtMost32,
impl<'_, const N: usize, A, B> PartialEq<&'_ mut [B; N]> for VecDeque<A> where
A: PartialEq<B>,
[B; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[B; N]: LengthAtMost32,
impl<'a> PartialEq<CompleteStr<'a>> for CompleteStr<'a>[src]
fn eq(&self, other: &CompleteStr<'a>) -> bool[src]
fn ne(&self, other: &CompleteStr<'a>) -> bool[src]
impl<'a> PartialEq<CompleteByteSlice<'a>> for CompleteByteSlice<'a>[src]
fn eq(&self, other: &CompleteByteSlice<'a>) -> bool[src]
fn ne(&self, other: &CompleteByteSlice<'a>) -> bool[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> PartialEq<VecDeque<A>> for VecDeque<A> where
A: PartialEq<A>, [src]
A: PartialEq<A>,
impl<A, B> PartialEq<Vec<B>> for VecDeque<A> where
A: PartialEq<B>, [src]
A: PartialEq<B>,
impl<A, B> PartialEq<Vec<B>> for Vec<A> where
A: PartialEq<B>, [src]
A: PartialEq<B>,
impl<E: PartialEq> PartialEq<ErrorKind<E>> for nom::ErrorKind<E>[src]
impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>[src]
fn eq(&self, _other: &BuildHasherDefault<H>) -> bool[src]
impl<I: PartialEq, E: PartialEq> PartialEq<Context<I, E>> for Context<I, E>[src]
impl<I: PartialEq, E: PartialEq> PartialEq<Err<I, E>> for Err<I, E>[src]
impl<Idx> PartialEq<Range<Idx>> for Range<Idx> where
Idx: PartialEq<Idx>, [src]
Idx: PartialEq<Idx>,
impl<Idx> PartialEq<RangeFrom<Idx>> for RangeFrom<Idx> where
Idx: PartialEq<Idx>, [src]
Idx: PartialEq<Idx>,
impl<Idx> PartialEq<RangeInclusive<Idx>> for RangeInclusive<Idx> where
Idx: PartialEq<Idx>, [src]
Idx: PartialEq<Idx>,
fn eq(&self, other: &RangeInclusive<Idx>) -> bool[src]
impl<Idx> PartialEq<RangeTo<Idx>> for RangeTo<Idx> where
Idx: PartialEq<Idx>, [src]
Idx: PartialEq<Idx>,
impl<Idx> PartialEq<RangeToInclusive<Idx>> for RangeToInclusive<Idx> where
Idx: PartialEq<Idx>, [src]
Idx: PartialEq<Idx>,
fn eq(&self, other: &RangeToInclusive<Idx>) -> bool[src]
fn ne(&self, other: &RangeToInclusive<Idx>) -> bool[src]
impl<K, V> PartialEq<BTreeMap<K, V>> for BTreeMap<K, V> where
K: PartialEq<K>,
V: PartialEq<V>, [src]
K: PartialEq<K>,
V: PartialEq<V>,
impl<K, V, S> PartialEq<HashMap<K, V, S>> for nom::lib::std::collections::HashMap<K, V, S> where
K: Eq + Hash,
S: BuildHasher,
V: PartialEq<V>, [src]
K: Eq + Hash,
S: BuildHasher,
V: PartialEq<V>,
impl<T> PartialEq<Discriminant<T>> for Discriminant<T>[src]
fn eq(&self, rhs: &Discriminant<T>) -> bool[src]
impl<T> PartialEq<Bound<T>> for Bound<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<T> PartialEq<Option<T>> for Option<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<T> PartialEq<Reverse<T>> for Reverse<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<T> PartialEq<BTreeSet<T>> for BTreeSet<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
impl<T> PartialEq<LinkedList<T>> for LinkedList<T> where
T: PartialEq<T>, [src]
T: PartialEq<T>,
fn eq(&self, other: &LinkedList<T>) -> bool[src]
fn ne(&self, other: &LinkedList<T>) -> bool[src]
impl<T> PartialEq<ManuallyDrop<T>> for ManuallyDrop<T> where
T: PartialEq<T> + ?Sized, [src]
T: PartialEq<T> + ?Sized,
fn eq(&self, other: &ManuallyDrop<T>) -> bool[src]
fn ne(&self, other: &ManuallyDrop<T>) -> bool[src]
impl<T> PartialEq<Box<T>> for Box<T> where
T: PartialEq<T> + ?Sized, [src]
T: PartialEq<T> + ?Sized,
impl<T, E> PartialEq<Result<T, E>> for Result<T, E> where
E: PartialEq<E>,
T: PartialEq<T>, [src]
E: PartialEq<E>,
T: PartialEq<T>,
impl<T, S> PartialEq<HashSet<T, S>> for nom::lib::std::collections::HashSet<T, S> where
S: BuildHasher,
T: Eq + Hash, [src]
S: BuildHasher,
T: Eq + Hash,
impl<T: PartialEq> PartialEq<Input<T>> for Input<T>[src]
impl<Y, R> PartialEq<GeneratorState<Y, R>> for GeneratorState<Y, R> where
R: PartialEq<R>,
Y: PartialEq<Y>, [src]
R: PartialEq<R>,
Y: PartialEq<Y>,
fn eq(&self, other: &GeneratorState<Y, R>) -> bool[src]
fn ne(&self, other: &GeneratorState<Y, R>) -> bool[src]
impl<const N: usize, A, B> PartialEq<[B; N]> for VecDeque<A> where
A: PartialEq<B>,
[B; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[B; N]: LengthAtMost32,
impl<const N: usize, A, B> PartialEq<[B; N]> for Vec<A> where
A: PartialEq<B>,
[B; N]: LengthAtMost32, [src]
A: PartialEq<B>,
[B; N]: LengthAtMost32,