#[lang = "eq"]pub trait PartialEq<Rhs = Self> where Rhs: ?Sized, { fn eq(&self, other: &Rhs) -> bool; 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
):
a == b
implies b == a
; anda == 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>
.
This trait can be used with #[derive]
. When derive
d on structs, two instances are equal if all fields are equal, and not equal if any fields are not equal. When derive
d on enums, each variant is equal to itself and not equal to the other variants.
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);
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 BookFormat
s to be compared with Book
s.
A comparison like the one above, which ignores some fields of the struct, can be dangerous. It can easily lead to an unintended violation of the requirements for a partial equivalence relation. For example, if we kept the above implementation of PartialEq<Book>
for BookFormat
and added an implementation of PartialEq<Book>
for Book
(either via a #[derive]
or via the manual implementation from the first example) then the result would violate transitivity:
#[derive(PartialEq)] enum BookFormat { Paperback, Hardback, Ebook, } #[derive(PartialEq)] struct Book { isbn: i32, format: BookFormat, } impl PartialEq<BookFormat> for Book { fn eq(&self, other: &BookFormat) -> bool { self.format == *other } } impl PartialEq<Book> for BookFormat { fn eq(&self, other: &Book) -> bool { *self == other.format } } fn main() { let b1 = Book { isbn: 1, format: BookFormat::Paperback }; let b2 = Book { isbn: 2, format: BookFormat::Paperback }; assert!(b1 == BookFormat::Paperback); assert!(BookFormat::Paperback == b2); // The following should hold by transitivity but doesn't. assert!(b1 == b2); // <-- PANICS }
let x: u32 = 0; let y: u32 = 1; assert_eq!(x == y, false); assert_eq!(x.eq(&y), false);
fn eq(&self, other: &Rhs) -> bool
This method tests for self
and other
values to be equal, and is used by ==
.
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 PartialEq<CpuidResult> for CpuidResult
[src]
fn eq(&self, other: &CpuidResult) -> bool
[src]
fn ne(&self, other: &CpuidResult) -> bool
[src]
impl PartialEq<BacktraceStatus> for BacktraceStatus
[src]
fn eq(&self, other: &BacktraceStatus) -> bool
[src]
impl PartialEq<Ordering> for 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<Infallible> for Infallible
[src]
fn eq(&self, &Infallible) -> bool
[src]
impl PartialEq<VarError> for VarError
[src]
impl PartialEq<ErrorKind> for ErrorKind
[src]
impl PartialEq<SeekFrom> for SeekFrom
[src]
impl PartialEq<IpAddr> for IpAddr
[src]
impl PartialEq<IpAddr> for Ipv4Addr
[src]
impl PartialEq<IpAddr> for Ipv6Addr
[src]
impl PartialEq<Ipv6MulticastScope> for Ipv6MulticastScope
[src]
fn eq(&self, other: &Ipv6MulticastScope) -> bool
[src]
impl PartialEq<Shutdown> for Shutdown
[src]
impl PartialEq<SocketAddr> for SocketAddr
[src]
fn eq(&self, other: &SocketAddr) -> bool
[src]
fn ne(&self, other: &SocketAddr) -> bool
[src]
impl PartialEq<FpCategory> for FpCategory
[src]
fn eq(&self, other: &FpCategory) -> bool
[src]
impl PartialEq<IntErrorKind> for IntErrorKind
[src]
fn eq(&self, other: &IntErrorKind) -> bool
[src]
impl PartialEq<SearchStep> for SearchStep
[src]
fn eq(&self, other: &SearchStep) -> bool
[src]
fn ne(&self, other: &SearchStep) -> bool
[src]
impl PartialEq<Ordering> for std::sync::atomic::Ordering
[src]
impl PartialEq<RecvTimeoutError> for RecvTimeoutError
[src]
fn eq(&self, other: &RecvTimeoutError) -> bool
[src]
impl PartialEq<TryRecvError> for TryRecvError
[src]
fn eq(&self, other: &TryRecvError) -> bool
[src]
impl PartialEq<bool> for bool
[src]
impl PartialEq<char> for char
[src]
impl PartialEq<f32> for f32
[src]
impl PartialEq<f64> for f64
[src]
impl PartialEq<i8> for i8
[src]
impl PartialEq<i16> for i16
[src]
impl PartialEq<i32> for i32
[src]
impl PartialEq<i64> for i64
[src]
impl PartialEq<i128> for i128
[src]
impl PartialEq<isize> for isize
[src]
impl PartialEq<!> for !
[src]
impl PartialEq<str> for str
[src]
impl PartialEq<str> for OsStr
[src]
impl PartialEq<str> for OsString
[src]
impl PartialEq<u8> for u8
[src]
impl PartialEq<u16> for u16
[src]
impl PartialEq<u32> for u32
[src]
impl PartialEq<u64> for u64
[src]
impl PartialEq<u128> for u128
[src]
impl PartialEq<()> for ()
[src]
impl PartialEq<usize> for usize
[src]
impl PartialEq<AllocErr> for AllocErr
[src]
impl PartialEq<Layout> for Layout
[src]
impl PartialEq<LayoutErr> for LayoutErr
[src]
impl PartialEq<TypeId> for TypeId
[src]
impl PartialEq<CharTryFromError> for CharTryFromError
[src]
fn eq(&self, other: &CharTryFromError) -> bool
[src]
fn ne(&self, other: &CharTryFromError) -> bool
[src]
impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error
[src]
fn eq(&self, other: &DecodeUtf16Error) -> bool
[src]
fn ne(&self, other: &DecodeUtf16Error) -> bool
[src]
impl PartialEq<ParseCharError> for ParseCharError
[src]
fn eq(&self, other: &ParseCharError) -> bool
[src]
fn ne(&self, other: &ParseCharError) -> bool
[src]
impl PartialEq<CStr> for CStr
[src]
impl PartialEq<CString> for CString
[src]
impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError
[src]
fn eq(&self, other: &FromBytesWithNulError) -> bool
[src]
fn ne(&self, other: &FromBytesWithNulError) -> bool
[src]
impl PartialEq<FromVecWithNulError> for FromVecWithNulError
[src]
fn eq(&self, other: &FromVecWithNulError) -> bool
[src]
fn ne(&self, other: &FromVecWithNulError) -> bool
[src]
impl PartialEq<IntoStringError> for IntoStringError
[src]
fn eq(&self, other: &IntoStringError) -> bool
[src]
fn ne(&self, other: &IntoStringError) -> bool
[src]
impl PartialEq<NulError> for NulError
[src]
impl PartialEq<OsStr> for str
[src]
impl PartialEq<OsStr> for OsStr
[src]
impl PartialEq<OsString> for str
[src]
impl PartialEq<OsString> for OsString
[src]
impl PartialEq<Error> for Error
[src]
impl PartialEq<FileType> for FileType
[src]
impl PartialEq<Permissions> for Permissions
[src]
fn eq(&self, other: &Permissions) -> bool
[src]
fn ne(&self, other: &Permissions) -> bool
[src]
impl PartialEq<PhantomPinned> for PhantomPinned
[src]
fn eq(&self, other: &PhantomPinned) -> bool
[src]
impl PartialEq<AddrParseError> for AddrParseError
[src]
fn eq(&self, other: &AddrParseError) -> bool
[src]
fn ne(&self, other: &AddrParseError) -> bool
[src]
impl PartialEq<Ipv4Addr> for IpAddr
[src]
impl PartialEq<Ipv4Addr> for Ipv4Addr
[src]
impl PartialEq<Ipv6Addr> for IpAddr
[src]
impl PartialEq<Ipv6Addr> for Ipv6Addr
[src]
impl PartialEq<SocketAddrV4> for SocketAddrV4
[src]
fn eq(&self, other: &SocketAddrV4) -> bool
[src]
impl PartialEq<SocketAddrV6> for SocketAddrV6
[src]
fn eq(&self, other: &SocketAddrV6) -> bool
[src]
impl PartialEq<NonZeroI8> for NonZeroI8
[src]
impl PartialEq<NonZeroI16> for NonZeroI16
[src]
fn eq(&self, other: &NonZeroI16) -> bool
[src]
fn ne(&self, other: &NonZeroI16) -> bool
[src]
impl PartialEq<NonZeroI32> for NonZeroI32
[src]
fn eq(&self, other: &NonZeroI32) -> bool
[src]
fn ne(&self, other: &NonZeroI32) -> bool
[src]
impl PartialEq<NonZeroI64> for NonZeroI64
[src]
fn eq(&self, other: &NonZeroI64) -> bool
[src]
fn ne(&self, other: &NonZeroI64) -> bool
[src]
impl PartialEq<NonZeroI128> for NonZeroI128
[src]
fn eq(&self, other: &NonZeroI128) -> bool
[src]
fn ne(&self, other: &NonZeroI128) -> bool
[src]
impl PartialEq<NonZeroIsize> for NonZeroIsize
[src]
fn eq(&self, other: &NonZeroIsize) -> bool
[src]
fn ne(&self, other: &NonZeroIsize) -> bool
[src]
impl PartialEq<NonZeroU8> for NonZeroU8
[src]
impl PartialEq<NonZeroU16> for NonZeroU16
[src]
fn eq(&self, other: &NonZeroU16) -> bool
[src]
fn ne(&self, other: &NonZeroU16) -> bool
[src]
impl PartialEq<NonZeroU32> for NonZeroU32
[src]
fn eq(&self, other: &NonZeroU32) -> bool
[src]
fn ne(&self, other: &NonZeroU32) -> bool
[src]
impl PartialEq<NonZeroU64> for NonZeroU64
[src]
fn eq(&self, other: &NonZeroU64) -> bool
[src]
fn ne(&self, other: &NonZeroU64) -> bool
[src]
impl PartialEq<NonZeroU128> for NonZeroU128
[src]
fn eq(&self, other: &NonZeroU128) -> bool
[src]
fn ne(&self, other: &NonZeroU128) -> bool
[src]
impl PartialEq<NonZeroUsize> for NonZeroUsize
[src]
fn eq(&self, other: &NonZeroUsize) -> bool
[src]
fn ne(&self, other: &NonZeroUsize) -> bool
[src]
impl PartialEq<ParseFloatError> for ParseFloatError
[src]
fn eq(&self, other: &ParseFloatError) -> bool
[src]
fn ne(&self, other: &ParseFloatError) -> bool
[src]
impl PartialEq<ParseIntError> for ParseIntError
[src]
fn eq(&self, other: &ParseIntError) -> bool
[src]
fn ne(&self, other: &ParseIntError) -> bool
[src]
impl PartialEq<TryFromIntError> for TryFromIntError
[src]
fn eq(&self, other: &TryFromIntError) -> bool
[src]
fn ne(&self, other: &TryFromIntError) -> bool
[src]
impl PartialEq<RangeFull> for RangeFull
[src]
impl PartialEq<NoneError> for NoneError
[src]
impl PartialEq<Path> for Path
[src]
impl PartialEq<PathBuf> for PathBuf
[src]
impl PartialEq<StripPrefixError> for StripPrefixError
[src]
fn eq(&self, other: &StripPrefixError) -> bool
[src]
fn ne(&self, other: &StripPrefixError) -> bool
[src]
impl PartialEq<ExitStatus> for ExitStatus
[src]
fn eq(&self, other: &ExitStatus) -> bool
[src]
fn ne(&self, other: &ExitStatus) -> bool
[src]
impl PartialEq<Output> for Output
[src]
impl PartialEq<ParseBoolError> for ParseBoolError
[src]
fn eq(&self, other: &ParseBoolError) -> bool
[src]
fn ne(&self, other: &ParseBoolError) -> bool
[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 PartialEq<String> for String
[src]
impl PartialEq<RecvError> for RecvError
[src]
impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult
[src]
fn eq(&self, other: &WaitTimeoutResult) -> bool
[src]
fn ne(&self, other: &WaitTimeoutResult) -> bool
[src]
impl PartialEq<RawWaker> for RawWaker
[src]
impl PartialEq<RawWakerVTable> for RawWakerVTable
[src]
fn eq(&self, other: &RawWakerVTable) -> bool
[src]
fn ne(&self, other: &RawWakerVTable) -> bool
[src]
impl PartialEq<AccessError> for AccessError
[src]
fn eq(&self, other: &AccessError) -> bool
[src]
fn ne(&self, other: &AccessError) -> bool
[src]
impl PartialEq<ThreadId> for ThreadId
[src]
impl PartialEq<Duration> for Duration
[src]
impl PartialEq<Instant> for Instant
[src]
impl PartialEq<SystemTime> for SystemTime
[src]
fn eq(&self, other: &SystemTime) -> bool
[src]
fn ne(&self, other: &SystemTime) -> bool
[src]
impl<'_> PartialEq<&'_ str> for OsString
[src]
impl<'_, '_, A, B> PartialEq<&'_ B> for &'_ A where
A: PartialEq<B> + ?Sized,
B: ?Sized,
[src]
impl<'_, '_, A, B> PartialEq<&'_ B> for &'_ mut A where
A: PartialEq<B> + ?Sized,
B: ?Sized,
[src]
impl<'_, '_, A, B> PartialEq<&'_ mut B> for &'_ A where
A: PartialEq<B> + ?Sized,
B: ?Sized,
[src]
impl<'_, '_, A, B> PartialEq<&'_ mut B> for &'_ mut A where
A: PartialEq<B> + ?Sized,
B: ?Sized,
[src]
impl<'_, '_, A, B> PartialEq<&'_ [B]> for Cow<'_, [A]> where
A: PartialEq<B> + Clone,
[src]
impl<'_, '_, A, B> PartialEq<&'_ mut [B]> for Cow<'_, [A]> where
A: PartialEq<B> + Clone,
[src]
impl<'_, A, B> PartialEq<&'_ [B]> for VecDeque<A> where
A: PartialEq<B>,
[src]
impl<'_, A, B> PartialEq<&'_ [B]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'_, A, B> PartialEq<&'_ mut [B]> for VecDeque<A> where
A: PartialEq<B>,
[src]
impl<'_, A, B> PartialEq<&'_ mut [B]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'_, A, B> PartialEq<Vec<B>> for Cow<'_, [A]> where
A: PartialEq<B> + Clone,
[src]
impl<'_, A, B> PartialEq<Vec<B>> for &'_ [A] where
A: PartialEq<B>,
[src]
impl<'_, A, B> PartialEq<Vec<B>> for &'_ mut [A] where
A: PartialEq<B>,
[src]
impl<'_, A, B, const N: usize> PartialEq<&'_ [B; N]> for VecDeque<A> where
A: PartialEq<B>,
[src]
impl<'_, A, B, const N: usize> PartialEq<&'_ [B; N]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<'_, A, B, const N: usize> PartialEq<&'_ mut [B; N]> for VecDeque<A> where
A: PartialEq<B>,
[src]
impl<'a> PartialEq<Component<'a>> for Component<'a>
[src]
impl<'a> PartialEq<Prefix<'a>> for Prefix<'a>
[src]
impl<'a> PartialEq<OsString> for &'a str
[src]
impl<'a> PartialEq<Location<'a>> for Location<'a>
[src]
impl<'a> PartialEq<Components<'a>> for Components<'a>
[src]
fn eq(&self, other: &Components<'a>) -> bool
[src]
impl<'a> PartialEq<PrefixComponent<'a>> for PrefixComponent<'a>
[src]
fn eq(&self, other: &PrefixComponent<'a>) -> bool
[src]
impl<'a, 'b> PartialEq<&'a str> for String
[src]
impl<'a, 'b> PartialEq<&'a OsStr> for OsString
[src]
impl<'a, 'b> PartialEq<&'a OsStr> for Path
[src]
impl<'a, 'b> PartialEq<&'a OsStr> for PathBuf
[src]
impl<'a, 'b> PartialEq<&'a Path> for Cow<'b, OsStr>
[src]
impl<'a, 'b> PartialEq<&'a Path> for OsStr
[src]
impl<'a, 'b> PartialEq<&'a Path> for OsString
[src]
impl<'a, 'b> PartialEq<&'a Path> for PathBuf
[src]
impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>
[src]
impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, OsStr>
[src]
impl<'a, 'b> PartialEq<&'b OsStr> for Cow<'a, Path>
[src]
impl<'a, 'b> PartialEq<&'b Path> for Cow<'a, Path>
[src]
impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str
[src]
impl<'a, 'b> PartialEq<Cow<'a, str>> for str
[src]
impl<'a, 'b> PartialEq<Cow<'a, str>> for String
[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for &'b OsStr
[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsStr
[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for OsString
[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for Path
[src]
impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for PathBuf
[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b OsStr
[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for &'b Path
[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsStr
[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for OsString
[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for Path
[src]
impl<'a, 'b> PartialEq<Cow<'a, Path>> for PathBuf
[src]
impl<'a, 'b> PartialEq<Cow<'b, OsStr>> for &'a Path
[src]
impl<'a, 'b> PartialEq<str> for Cow<'a, str>
[src]
impl<'a, 'b> PartialEq<str> for String
[src]
impl<'a, 'b> PartialEq<OsStr> for &'a Path
[src]
impl<'a, 'b> PartialEq<OsStr> for Cow<'a, OsStr>
[src]
impl<'a, 'b> PartialEq<OsStr> for Cow<'a, Path>
[src]
impl<'a, 'b> PartialEq<OsStr> for OsString
[src]
impl<'a, 'b> PartialEq<OsStr> for Path
[src]
impl<'a, 'b> PartialEq<OsStr> for PathBuf
[src]
impl<'a, 'b> PartialEq<OsString> for &'a OsStr
[src]
impl<'a, 'b> PartialEq<OsString> for &'a Path
[src]
impl<'a, 'b> PartialEq<OsString> for Cow<'a, OsStr>
[src]
impl<'a, 'b> PartialEq<OsString> for Cow<'a, Path>
[src]
impl<'a, 'b> PartialEq<OsString> for OsStr
[src]
impl<'a, 'b> PartialEq<OsString> for Path
[src]
impl<'a, 'b> PartialEq<OsString> for PathBuf
[src]
impl<'a, 'b> PartialEq<Path> for &'a OsStr
[src]
impl<'a, 'b> PartialEq<Path> for Cow<'a, OsStr>
[src]
impl<'a, 'b> PartialEq<Path> for Cow<'a, Path>
[src]
impl<'a, 'b> PartialEq<Path> for OsStr
[src]
impl<'a, 'b> PartialEq<Path> for OsString
[src]
impl<'a, 'b> PartialEq<Path> for PathBuf
[src]
impl<'a, 'b> PartialEq<PathBuf> for &'a OsStr
[src]
impl<'a, 'b> PartialEq<PathBuf> for &'a Path
[src]
impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, OsStr>
[src]
impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, Path>
[src]
impl<'a, 'b> PartialEq<PathBuf> for OsStr
[src]
impl<'a, 'b> PartialEq<PathBuf> for OsString
[src]
impl<'a, 'b> PartialEq<PathBuf> for Path
[src]
impl<'a, 'b> PartialEq<String> for &'a str
[src]
impl<'a, 'b> PartialEq<String> for Cow<'a, str>
[src]
impl<'a, 'b> PartialEq<String> for 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]
impl<'b, A, B, const N: usize> PartialEq<[A; N]> for &'b [B] where
B: PartialEq<A>,
[src]
impl<'b, A, B, const N: usize> PartialEq<[A; N]> for &'b mut [B] where
B: PartialEq<A>,
[src]
impl<'b, A, B, const N: usize> PartialEq<&'b [B]> for [A; N] where
A: PartialEq<B>,
[src]
impl<'b, A, B, const N: usize> PartialEq<&'b mut [B]> for [A; N] where
A: PartialEq<B>,
[src]
fn eq(&self, other: &&'b mut [B]) -> bool
[src]
fn ne(&self, other: &&'b mut [B]) -> bool
[src]
impl<A> PartialEq<(A,)> for (A,) where
A: PartialEq<A> + ?Sized,
[src]
impl<A> PartialEq<VecDeque<A>> for VecDeque<A> where
A: PartialEq<A>,
[src]
impl<A, B> PartialEq<[B]> for [A] where
A: PartialEq<B>,
[src]
impl<A, B> PartialEq<(A, B)> for (A, B) where
A: PartialEq<A>,
B: PartialEq<B> + ?Sized,
[src]
impl<A, B> PartialEq<Vec<B>> for VecDeque<A> where
A: PartialEq<B>,
[src]
impl<A, B> PartialEq<Vec<B>> for Vec<A> where
A: PartialEq<B>,
[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<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<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]
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]
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<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]
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<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]
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<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]
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<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]
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<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]
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<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]
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<A, B, const N: usize> PartialEq<[A; N]> for [B] where
B: PartialEq<A>,
[src]
impl<A, B, const N: usize> PartialEq<[B; N]> for [A; N] where
A: PartialEq<B>,
[src]
impl<A, B, const N: usize> PartialEq<[B; N]> for VecDeque<A> where
A: PartialEq<B>,
[src]
impl<A, B, const N: usize> PartialEq<[B; N]> for Vec<A> where
A: PartialEq<B>,
[src]
impl<A, B, const N: usize> PartialEq<[B]> for [A; N] where
A: PartialEq<B>,
[src]
impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>
[src]
fn eq(&self, _other: &BuildHasherDefault<H>) -> bool
[src]
impl<Idx> PartialEq<Range<Idx>> for Range<Idx> where
Idx: PartialEq<Idx>,
[src]
impl<Idx> PartialEq<RangeFrom<Idx>> for RangeFrom<Idx> where
Idx: PartialEq<Idx>,
[src]
impl<Idx> PartialEq<RangeInclusive<Idx>> for RangeInclusive<Idx> where
Idx: PartialEq<Idx>,
[src]
fn eq(&self, other: &RangeInclusive<Idx>) -> bool
[src]
fn ne(&self, other: &RangeInclusive<Idx>) -> bool
[src]
impl<Idx> PartialEq<RangeTo<Idx>> for RangeTo<Idx> where
Idx: PartialEq<Idx>,
[src]
impl<Idx> PartialEq<RangeToInclusive<Idx>> for RangeToInclusive<Idx> where
Idx: PartialEq<Idx>,
[src]
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]
impl<K, V, S> PartialEq<HashMap<K, V, S>> for HashMap<K, V, S> where
K: Eq + Hash,
V: PartialEq,
S: BuildHasher,
[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> PartialEq<fn() -> Ret> for fn() -> Ret
[src]
impl<Ret> PartialEq<extern "C" fn() -> Ret> for extern "C" fn() -> Ret
[src]
impl<Ret> PartialEq<unsafe fn() -> Ret> for unsafe fn() -> Ret
[src]
impl<Ret> PartialEq<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Ret
[src]
impl<Ret, A> PartialEq<fn(A) -> Ret> for fn(A) -> Ret
[src]
impl<Ret, A> PartialEq<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> Ret
[src]
impl<Ret, A> PartialEq<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> Ret
[src]
impl<Ret, A> PartialEq<unsafe fn(A) -> Ret> for unsafe fn(A) -> Ret
[src]
impl<Ret, A> PartialEq<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> Ret
[src]
impl<Ret, A> PartialEq<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> Ret
[src]
impl<Ret, A, B> PartialEq<fn(A, B) -> Ret> for fn(A, B) -> Ret
[src]
impl<Ret, A, B> PartialEq<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> Ret
[src]
impl<Ret, A, B> PartialEq<extern "C" fn(A, B, ...) -> Ret> for extern "C" fn(A, B, ...) -> Ret
[src]
impl<Ret, A, B> PartialEq<unsafe fn(A, B) -> Ret> for unsafe 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<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> PartialEq<fn(A, B, C) -> Ret> for fn(A, B, C) -> 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> PartialEq<extern "C" fn(A, B, C, ...) -> Ret> for extern "C" fn(A, B, C, ...) -> Ret
[src]
impl<Ret, A, B, C> PartialEq<unsafe fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> Ret
[src]
impl<Ret, A, B, C> PartialEq<unsafe extern "C" fn(A, B, C) -> Ret> for unsafe extern "C" fn(A, B, C) -> Ret
[src]
impl<Ret, A, B, C> PartialEq<unsafe extern "C" fn(A, B, C, ...) -> Ret> for unsafe extern "C" fn(A, B, C, ...) -> Ret
[src]
impl<Ret, A, B, C, D> PartialEq<fn(A, B, C, D) -> Ret> for fn(A, B, C, D) -> Ret
[src]
impl<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> 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> PartialEq<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Ret
[src]
impl<Ret, A, B, C, D> PartialEq<unsafe extern "C" fn(A, B, C, D) -> Ret> for unsafe extern "C" fn(A, B, C, D) -> Ret
[src]
impl<Ret, A, B, C, D> 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> PartialEq<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> 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<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 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<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> 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> PartialEq<fn(A, B, C, D, E, F) -> Ret> for fn(A, B, C, D, E, F) -> 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, 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> 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, 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> 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> 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, 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> 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> 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<Ret, A, B, C, D, E, F, G> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H> 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, F, G, H> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H> PartialEq<extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H> PartialEq<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<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<unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<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, 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<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<Ret, A, B, C, D, E, F, G, H, I> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H, I> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J> 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, 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, 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, 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<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, 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, 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> 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> 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, J, K> PartialEq<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialEq<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]
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H, I, 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<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 fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
[src]
impl<Ret, A, B, C, D, E, F, G, H, I, 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, 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]
impl<T> PartialEq<Bound<T>> for Bound<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<Option<T>> for Option<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<Poll<T>> for Poll<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<*const T> for *const T where
T: ?Sized,
[src]
impl<T> PartialEq<*mut T> for *mut T where
T: ?Sized,
[src]
impl<T> PartialEq<Box<T>> for Box<T> where
T: PartialEq<T> + ?Sized,
[src]
impl<T> PartialEq<Cell<T>> for Cell<T> where
T: PartialEq<T> + Copy,
[src]
impl<T> PartialEq<RefCell<T>> for RefCell<T> where
T: PartialEq<T> + ?Sized,
[src]
fn eq(&self, other: &RefCell<T>) -> bool
[src]
Panics if the value in either RefCell
is currently borrowed.
impl<T> PartialEq<Reverse<T>> for Reverse<T> where
T: PartialEq<T>,
[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]
fn eq(&self, other: &LinkedList<T>) -> bool
[src]
fn ne(&self, other: &LinkedList<T>) -> bool
[src]
impl<T> PartialEq<OnceCell<T>> for OnceCell<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<PhantomData<T>> for PhantomData<T> where
T: ?Sized,
[src]
fn eq(&self, _other: &PhantomData<T>) -> bool
[src]
impl<T> PartialEq<Discriminant<T>> for Discriminant<T>
[src]
fn eq(&self, rhs: &Discriminant<T>) -> bool
[src]
impl<T> PartialEq<ManuallyDrop<T>> for ManuallyDrop<T> where
T: PartialEq<T> + ?Sized,
[src]
fn eq(&self, other: &ManuallyDrop<T>) -> bool
[src]
fn ne(&self, other: &ManuallyDrop<T>) -> bool
[src]
impl<T> PartialEq<Wrapping<T>> for Wrapping<T> where
T: PartialEq<T>,
[src]
impl<T> PartialEq<NonNull<T>> for NonNull<T> where
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 Rc
s.
Two Rc
s 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 Rc
s that point to the same allocation are always equal.
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 Rc
s.
Two Rc
s are unequal if their inner values are unequal.
If T
also implements Eq
(implying reflexivity of equality), two Rc
s that point to the same allocation are never unequal.
use std::rc::Rc; let five = Rc::new(5); assert!(five != Rc::new(6));
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 Arc
s.
Two Arc
s 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 Arc
s that point to the same allocation are always equal.
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 Arc
s.
Two Arc
s are unequal if their inner values are unequal.
If T
also implements Eq
(implying reflexivity of equality), two Arc
s that point to the same value are never unequal.
use std::sync::Arc; let five = Arc::new(5); assert!(five != Arc::new(6));
impl<T, E> PartialEq<Result<T, E>> for Result<T, E> where
E: PartialEq<E>,
T: PartialEq<T>,
[src]
impl<T, S> PartialEq<HashSet<T, S>> for HashSet<T, S> where
T: Eq + Hash,
S: BuildHasher,
[src]
impl<T: PartialEq> PartialEq<TrySendError<T>> for TrySendError<T>
[src]
fn eq(&self, other: &TrySendError<T>) -> bool
[src]
fn ne(&self, other: &TrySendError<T>) -> bool
[src]
impl<T: PartialEq> PartialEq<Cursor<T>> for Cursor<T>
[src]
impl<T: PartialEq> PartialEq<SyncOnceCell<T>> for SyncOnceCell<T>
[src]
fn eq(&self, other: &SyncOnceCell<T>) -> bool
[src]
impl<T: PartialEq> PartialEq<SendError<T>> for SendError<T>
[src]
impl<Y, R> PartialEq<GeneratorState<Y, R>> for GeneratorState<Y, R> where
R: PartialEq<R>,
Y: PartialEq<Y>,
[src]
fn eq(&self, other: &GeneratorState<Y, R>) -> bool
[src]
fn ne(&self, other: &GeneratorState<Y, R>) -> bool
[src]
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/cmp/trait.PartialEq.html