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<K, V, S> PartialEq<HashMap<K, V, S>> for HashMap<K, V, S> where
    K: Eq + Hash,
    S: BuildHasher,
    V: PartialEq<V>, 

impl PartialEq<TryReserveError> for TryReserveError

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

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

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

impl PartialEq<Augmentation> for Augmentation

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

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

impl PartialEq<SectionId> for SectionId

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<EhFrame<R>> for EhFrame<R> where
    R: Reader + PartialEq<R>, 

impl PartialEq<DwVis> for DwVis

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

impl PartialEq<DwCfa> for DwCfa

impl PartialEq<LittleEndian> for LittleEndian

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

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

impl PartialEq<DwDsc> for DwDsc

impl PartialEq<DwChildren> for DwChildren

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

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

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

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

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

impl PartialEq<BaseAddresses> for BaseAddresses

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

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

impl PartialEq<Abbreviation> for Abbreviation

impl PartialEq<ValueType> for ValueType

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

impl PartialEq<DwOrd> for DwOrd

impl PartialEq<DwOp> for DwOp

impl PartialEq<BigEndian> for BigEndian

impl PartialEq<DwId> for DwId

impl PartialEq<DwTag> for DwTag

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

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

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

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

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

impl PartialEq<Register> for Register

impl PartialEq<Range> for Range

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

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

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

impl PartialEq<DwLle> for DwLle

impl PartialEq<DwAte> for DwAte

impl<T> PartialEq<DebugLineOffset<T>> for DebugLineOffset<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 PartialEq<AttributeSpecification> for AttributeSpecification

impl PartialEq<DwRle> for DwRle

impl PartialEq<DwUt> for DwUt

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

impl PartialEq<DwVirtuality> for DwVirtuality

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

impl PartialEq<DwEnd> for DwEnd

impl PartialEq<RunTimeEndian> for RunTimeEndian

impl PartialEq<DwLne> for DwLne

impl PartialEq<DwAddr> for DwAddr

impl PartialEq<DwEhPe> for DwEhPe

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

impl PartialEq<DwForm> for DwForm

impl PartialEq<DwInl> for DwInl

impl PartialEq<Value> for Value

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

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

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

impl PartialEq<Format> for Format

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

impl PartialEq<ColumnType> for ColumnType

impl PartialEq<DwLns> for DwLns

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

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

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

impl PartialEq<DwAccess> for DwAccess

impl PartialEq<DwIdx> for DwIdx

impl PartialEq<LineEncoding> for LineEncoding

impl PartialEq<DwDs> for DwDs

impl PartialEq<Error> for Error

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

impl PartialEq<DwCc> for DwCc

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

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

impl PartialEq<DwAt> for DwAt

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

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<R, Offset> PartialEq<IncompleteLineProgram<R, Offset>> for IncompleteLineProgram<R, Offset> where
    Offset: PartialEq<Offset> + ReaderOffset,
    R: PartialEq<R> + Reader<Offset = Offset>, 

impl PartialEq<DwDefaulted> for DwDefaulted

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

impl PartialEq<SectionBaseAddresses> for SectionBaseAddresses

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

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

impl PartialEq<DwLnct> for DwLnct

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

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

impl PartialEq<LineRow> for LineRow

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

impl PartialEq<DwMacro> for DwMacro

impl PartialEq<Pointer> for Pointer

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

impl PartialEq<DwLang> for DwLang

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

impl PartialEq<DebugTypeSignature> for DebugTypeSignature

impl PartialEq<FileEntryFormat> for FileEntryFormat

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

impl PartialEq<Encoding> for Encoding

impl PartialEq<ReaderOffsetId> for ReaderOffsetId

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

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

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

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

impl PartialEq<BigEndian> for BigEndian

impl PartialEq<RelocationTarget> for RelocationTarget

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

impl PartialEq<RelocationKind> for RelocationKind

impl PartialEq<AddressSize> for AddressSize

impl PartialEq<SectionFlags> for SectionFlags

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

impl PartialEq<Endianness> for Endianness

impl PartialEq<Error> for Error

impl PartialEq<SectionKind> for SectionKind

impl PartialEq<SymbolIndex> for SymbolIndex

impl PartialEq<BinaryFormat> for BinaryFormat

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

impl PartialEq<SymbolSection> for SymbolSection

impl PartialEq<SectionIndex> for SectionIndex

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

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

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

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

impl PartialEq<RelocationEncoding> for RelocationEncoding

impl PartialEq<Architecture> for Architecture

impl PartialEq<SymbolKind> for SymbolKind

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

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

impl PartialEq<SymbolScope> for SymbolScope

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

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

impl PartialEq<LittleEndian> for LittleEndian

impl PartialEq<CompressionFormat> for CompressionFormat

impl PartialEq<FileFlags> for FileFlags

impl PartialEq<MZError> for MZError

impl PartialEq<MZStatus> for MZStatus

impl PartialEq<CompressionStrategy> for CompressionStrategy

impl PartialEq<MZFlush> for MZFlush

impl PartialEq<StreamResult> for StreamResult

impl PartialEq<TINFLStatus> for TINFLStatus

impl PartialEq<TDEFLFlush> for TDEFLFlush

impl PartialEq<CompressionLevel> for CompressionLevel

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<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...