1.0.0[][src]Trait std::cmp::PartialEq

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

Trait for equality comparisons which are partial equivalence relations.

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

Formally, the equality must be (for all a, b and c):

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

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

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:

This example panics
#[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
}
Run

Examples

let x: u32 = 0;
let y: u32 = 1;

assert_eq!(x == y, false);
assert_eq!(x.eq(&y), false);
Run

Required methods

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

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

Loading content...

Provided methods

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

This method tests for !=.

Loading content...

Implementations on Foreign Types

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

impl PartialEq<CpuidResult> for CpuidResult[src]

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

impl PartialEq<TryReserveError> for TryReserveError

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

impl<T> PartialEq<DebugMacinfoOffset<T>> for DebugMacinfoOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<BaseAddresses> for BaseAddresses

impl PartialEq<DwAddr> for DwAddr

impl PartialEq<BigEndian> for BigEndian

impl PartialEq<ValueType> for ValueType

impl<R, Offset> PartialEq<CommonInformationEntry<R, Offset>> for CommonInformationEntry<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<DwCc> for DwCc

impl PartialEq<DwRle> for DwRle

impl PartialEq<DwCfa> for DwCfa

impl PartialEq<DwAte> for DwAte

impl PartialEq<DwDefaulted> for DwDefaulted

impl<T> PartialEq<DebugInfoOffset<T>> for DebugInfoOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<ColumnType> for ColumnType

impl<T> PartialEq<LocationListsOffset<T>> for LocationListsOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<SectionBaseAddresses> for SectionBaseAddresses

impl PartialEq<Pointer> for Pointer

impl PartialEq<DwTag> for DwTag

impl PartialEq<DwUt> for DwUt

impl PartialEq<DwOrd> for DwOrd

impl<R, Offset> PartialEq<FrameDescriptionEntry<R, Offset>> for FrameDescriptionEntry<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<'bases, Section, R> PartialEq<CieOrFde<'bases, Section, R>> for CieOrFde<'bases, Section, R> where
    R: PartialEq<R> + Reader,
    Section: PartialEq<Section> + UnwindSection<R>, 

impl<R> PartialEq<Expression<R>> for Expression<R> where
    R: Reader + PartialEq<R>, 

impl<T> PartialEq<DebugLineStrOffset<T>> for DebugLineStrOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<DwIdx> for DwIdx

impl PartialEq<Abbreviation> for Abbreviation

impl PartialEq<ReaderOffsetId> for ReaderOffsetId

impl<R, Offset> PartialEq<Piece<R, Offset>> for Piece<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<R> PartialEq<EvaluationResult<R>> for EvaluationResult<R> where
    R: Reader + PartialEq<R>,
    <R as Reader>::Offset: PartialEq<<R as Reader>::Offset>, 

impl PartialEq<LittleEndian> for LittleEndian

impl<T> PartialEq<DebugAbbrevOffset<T>> for DebugAbbrevOffset<T> where
    T: PartialEq<T>, 

impl<R> PartialEq<LocationListEntry<R>> for LocationListEntry<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<AttributeSpecification> for AttributeSpecification

impl<R> PartialEq<UnwindTableRow<R>> for UnwindTableRow<R> where
    R: Reader + PartialEq<R>, 

impl<T> PartialEq<DebugRngListsBase<T>> for DebugRngListsBase<T> where
    T: PartialEq<T>, 

impl PartialEq<DwDsc> for DwDsc

impl<T> PartialEq<DebugStrOffsetsIndex<T>> for DebugStrOffsetsIndex<T> where
    T: PartialEq<T>, 

impl PartialEq<DwAt> for DwAt

impl<R> PartialEq<RegisterRule<R>> for RegisterRule<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<Augmentation> for Augmentation

impl<R> PartialEq<CallFrameInstruction<R>> for CallFrameInstruction<R> where
    R: Reader + PartialEq<R>, 

impl<R, Offset> PartialEq<LineInstruction<R, Offset>> for LineInstruction<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<DwEnd> for DwEnd

impl<T> PartialEq<UnitSectionOffset<T>> for UnitSectionOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<DwChildren> for DwChildren

impl<R> PartialEq<UnwindContext<R>> for UnwindContext<R> where
    R: Reader + PartialEq<R>, 

impl<T> PartialEq<RangeListsOffset<T>> for RangeListsOffset<T> where
    T: PartialEq<T>, 

impl<T> PartialEq<UnitOffset<T>> for UnitOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<DwId> for DwId

impl PartialEq<DwForm> for DwForm

impl PartialEq<SectionId> for SectionId

impl<T> PartialEq<DebugLocListsBase<T>> for DebugLocListsBase<T> where
    T: PartialEq<T>, 

impl PartialEq<DebugTypeSignature> for DebugTypeSignature

impl<T> PartialEq<DebugMacroOffset<T>> for DebugMacroOffset<T> where
    T: PartialEq<T>, 

impl<T> PartialEq<DebugTypesOffset<T>> for DebugTypesOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<Value> for Value

impl<R, Offset> PartialEq<CompleteLineProgram<R, Offset>> for CompleteLineProgram<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<R, Offset> PartialEq<LineProgramHeader<R, Offset>> for LineProgramHeader<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<T> PartialEq<DebugAddrIndex<T>> for DebugAddrIndex<T> where
    T: PartialEq<T>, 

impl PartialEq<DwLne> for DwLne

impl<R, Offset> PartialEq<IncompleteLineProgram<R, Offset>> for IncompleteLineProgram<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<R, Offset> PartialEq<CompilationUnitHeader<R, Offset>> for CompilationUnitHeader<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<R> PartialEq<EhFrameHdr<R>> for EhFrameHdr<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<DwMacro> for DwMacro

impl<T> PartialEq<DebugStrOffsetsBase<T>> for DebugStrOffsetsBase<T> where
    T: PartialEq<T>, 

impl<R, Offset> PartialEq<Location<R, Offset>> for Location<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<DwAccess> for DwAccess

impl<T> PartialEq<ArangeEntry<T>> for ArangeEntry<T> where
    T: PartialEq<T> + Copy

impl<'input, Endian> PartialEq<EndianSlice<'input, Endian>> for EndianSlice<'input, Endian> where
    Endian: PartialEq<Endian> + Endianity, 

impl<'bases, Section, R> PartialEq<PartialFrameDescriptionEntry<'bases, Section, R>> for PartialFrameDescriptionEntry<'bases, Section, R> where
    R: PartialEq<R> + Reader,
    Section: PartialEq<Section> + UnwindSection<R>,
    <R as Reader>::Offset: PartialEq<<R as Reader>::Offset>,
    <Section as UnwindSection<R>>::Offset: PartialEq<<Section as UnwindSection<R>>::Offset>, 

impl<T> PartialEq<DebugRngListsIndex<T>> for DebugRngListsIndex<T> where
    T: PartialEq<T>, 

impl<R, Offset> PartialEq<FileEntry<R, Offset>> for FileEntry<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<R> PartialEq<DebugFrame<R>> for DebugFrame<R> where
    R: Reader + PartialEq<R>, 

impl<T> PartialEq<DebugLocListsIndex<T>> for DebugLocListsIndex<T> where
    T: PartialEq<T>, 

impl<T> PartialEq<DieReference<T>> for DieReference<T> where
    T: PartialEq<T>, 

impl PartialEq<DwLnct> for DwLnct

impl<T> PartialEq<DebugAddrBase<T>> for DebugAddrBase<T> where
    T: PartialEq<T>, 

impl<R, Offset> PartialEq<Operation<R, Offset>> for Operation<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<Range> for Range

impl PartialEq<Error> for Error

impl<R> PartialEq<Attribute<R>> for Attribute<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<DwLle> for DwLle

impl PartialEq<Encoding> for Encoding

impl PartialEq<DwInl> for DwInl

impl<T> PartialEq<DebugFrameOffset<T>> for DebugFrameOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<LineEncoding> for LineEncoding

impl<T> PartialEq<DebugStrOffset<T>> for DebugStrOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<DwLang> for DwLang

impl<T> PartialEq<EhFrameOffset<T>> for EhFrameOffset<T> where
    T: PartialEq<T>, 

impl<R, Offset> PartialEq<UnitHeader<R, Offset>> for UnitHeader<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<DwVirtuality> for DwVirtuality

impl PartialEq<Register> for Register

impl<R, Offset> PartialEq<AttributeValue<R, Offset>> for AttributeValue<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl<R, Offset> PartialEq<TypeUnitHeader<R, Offset>> for TypeUnitHeader<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<DwOp> for DwOp

impl PartialEq<LineRow> for LineRow

impl<T> PartialEq<DebugLineOffset<T>> for DebugLineOffset<T> where
    T: PartialEq<T>, 

impl PartialEq<DwVis> for DwVis

impl PartialEq<Format> for Format

impl PartialEq<DwEhPe> for DwEhPe

impl<R> PartialEq<EhFrame<R>> for EhFrame<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<DwLns> for DwLns

impl PartialEq<RunTimeEndian> for RunTimeEndian

impl PartialEq<FileEntryFormat> for FileEntryFormat

impl<R> PartialEq<CfaRule<R>> for CfaRule<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<DwDs> for DwDs

impl PartialEq<CompressionFormat> for CompressionFormat

impl PartialEq<SectionFlags> for SectionFlags

impl<'data> PartialEq<Bytes<'data>> for Bytes<'data>

impl PartialEq<RelocationKind> for RelocationKind

impl<E> PartialEq<U16<E>> for U16<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<Architecture> for Architecture

impl PartialEq<SectionIndex> for SectionIndex

impl<E> PartialEq<U64Bytes<E>> for U64Bytes<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<BigEndian> for BigEndian

impl PartialEq<FileFlags> for FileFlags

impl<Section> PartialEq<SymbolFlags<Section>> for SymbolFlags<Section> where
    Section: PartialEq<Section>, 

impl PartialEq<SymbolSection> for SymbolSection

impl<E> PartialEq<U16Bytes<E>> for U16Bytes<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<Error> for Error

impl PartialEq<BinaryFormat> for BinaryFormat

impl<E> PartialEq<I64<E>> for I64<E> where
    E: Endian + PartialEq<E>, 

impl<E> PartialEq<I64Bytes<E>> for I64Bytes<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<SymbolIndex> for SymbolIndex

impl PartialEq<SymbolKind> for SymbolKind

impl PartialEq<RelocationTarget> for RelocationTarget

impl PartialEq<RelocationEncoding> for RelocationEncoding

impl PartialEq<Endianness> for Endianness

impl PartialEq<AddressSize> for AddressSize

impl<E> PartialEq<I16<E>> for I16<E> where
    E: Endian + PartialEq<E>, 

impl<'data> PartialEq<CompressedData<'data>> for CompressedData<'data>

impl PartialEq<LittleEndian> for LittleEndian

impl<E> PartialEq<I32<E>> for I32<E> where
    E: Endian + PartialEq<E>, 

impl<E> PartialEq<U32Bytes<E>> for U32Bytes<E> where
    E: Endian + PartialEq<E>, 

impl<E> PartialEq<U64<E>> for U64<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<SymbolScope> for SymbolScope

impl<E> PartialEq<U32<E>> for U32<E> where
    E: Endian + PartialEq<E>, 

impl<E> PartialEq<I32Bytes<E>> for I32Bytes<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<SectionKind> for SectionKind

impl<E> PartialEq<I16Bytes<E>> for I16Bytes<E> where
    E: Endian + PartialEq<E>, 

impl PartialEq<TINFLStatus> for TINFLStatus

impl PartialEq<CompressionLevel> for CompressionLevel

impl PartialEq<MZFlush> for MZFlush

impl PartialEq<MZError> for MZError

impl PartialEq<StreamResult> for StreamResult

impl PartialEq<CompressionStrategy> for CompressionStrategy

impl PartialEq<TDEFLFlush> for TDEFLFlush

impl PartialEq<MZStatus> for MZStatus

impl PartialEq<DataFormat> for DataFormat

impl PartialEq<TDEFLStatus> for TDEFLStatus

Loading content...

Implementors

impl PartialEq<BacktraceStatus> for BacktraceStatus[src]

impl PartialEq<Ordering> for std::cmp::Ordering[src]

impl PartialEq<TryReserveError> for std::collections::TryReserveError[src]

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

impl PartialEq<Shutdown> for Shutdown[src]

impl PartialEq<SocketAddr> for SocketAddr[src]

impl PartialEq<FpCategory> for FpCategory[src]

impl PartialEq<IntErrorKind> for IntErrorKind[src]

impl PartialEq<SearchStep> for SearchStep[src]

impl PartialEq<Ordering> for std::sync::atomic::Ordering[src]

impl PartialEq<RecvTimeoutError> for RecvTimeoutError[src]

impl PartialEq<TryRecvError> for TryRecvError[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]

impl PartialEq<DecodeUtf16Error> for DecodeUtf16Error[src]

impl PartialEq<ParseCharError> for ParseCharError[src]

impl PartialEq<CStr> for CStr[src]

impl PartialEq<CString> for CString[src]

impl PartialEq<FromBytesWithNulError> for FromBytesWithNulError[src]

impl PartialEq<FromVecWithNulError> for FromVecWithNulError[src]

impl PartialEq<IntoStringError> for IntoStringError[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 std::fmt::Error[src]

impl PartialEq<FileType> for FileType[src]

impl PartialEq<Permissions> for Permissions[src]

impl PartialEq<PhantomPinned> for PhantomPinned[src]

impl PartialEq<AddrParseError> for AddrParseError[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]

impl PartialEq<SocketAddrV6> for SocketAddrV6[src]

impl PartialEq<NonZeroI8> for NonZeroI8[src]

impl PartialEq<NonZeroI16> for NonZeroI16[src]

impl PartialEq<NonZeroI32> for NonZeroI32[src]

impl PartialEq<NonZeroI64> for NonZeroI64[src]

impl PartialEq<NonZeroI128> for NonZeroI128[src]

impl PartialEq<NonZeroIsize> for NonZeroIsize[src]

impl PartialEq<NonZeroU8> for NonZeroU8[src]

impl PartialEq<NonZeroU16> for NonZeroU16[src]

impl PartialEq<NonZeroU32> for NonZeroU32[src]

impl PartialEq<NonZeroU64> for NonZeroU64[src]

impl PartialEq<NonZeroU128> for NonZeroU128[src]

impl PartialEq<NonZeroUsize> for NonZeroUsize[src]

impl PartialEq<ParseFloatError> for ParseFloatError[src]

impl PartialEq<ParseIntError> for ParseIntError[src]

impl PartialEq<TryFromIntError> for TryFromIntError[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]

impl PartialEq<ExitStatus> for ExitStatus[src]

impl PartialEq<Output> for Output[src]

impl PartialEq<ParseBoolError> for ParseBoolError[src]

impl PartialEq<Utf8Error> for Utf8Error[src]

impl PartialEq<FromUtf8Error> for FromUtf8Error[src]

impl PartialEq<String> for String[src]

impl PartialEq<RecvError> for RecvError[src]

impl PartialEq<WaitTimeoutResult> for WaitTimeoutResult[src]

impl PartialEq<RawWaker> for RawWaker[src]

impl PartialEq<RawWakerVTable> for RawWakerVTable[src]

impl PartialEq<AccessError> for AccessError[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]

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 std::panic::Location<'a>[src]

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

impl<'a> PartialEq<PrefixComponent<'a>> for PrefixComponent<'a>[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]

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]

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

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

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

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

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

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

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

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

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

impl<Idx> PartialEq<Range<Idx>> for std::ops::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]

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]

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 std::collections::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]

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]

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

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]

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]

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

impl<T> PartialEq<ManuallyDrop<T>> for ManuallyDrop<T> where
    T: PartialEq<T> + ?Sized
[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 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));
Run

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

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

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

Equality for two Arcs.

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

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

Examples

use std::sync::Arc;

let five = Arc::new(5);

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

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

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 std::collections::HashSet<T, S> where
    T: Eq + Hash,
    S: BuildHasher
[src]

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

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

impl<T: PartialEq> PartialEq<SyncOnceCell<T>> for SyncOnceCell<T>[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]

Loading content...