Trait browser_window::prelude::rust_2015::Eq

1.0.0 · source ·
pub trait Eq: PartialEq { }
Expand description

Trait for comparisons corresponding to equivalence relations.

This means, that in addition to a == b and a != b being strict inverses, the relation must be (for all a, b and c):

  • reflexive: a == a;
  • symmetric: a == b implies b == a (required by PartialEq as well); and
  • transitive: a == b and b == c implies a == c (required by PartialEq as well).

This property cannot be checked by the compiler, and therefore Eq implies PartialEq, and has no extra methods.

Violating this property is a logic error. The behavior resulting from a logic error is not specified, but users of the trait must ensure that such logic errors do not result in undefined behavior. This means that unsafe code must not rely on the correctness of these methods.

Implement Eq in addition to PartialEq if it’s guaranteed that PartialEq::eq(a, a) always returns true (reflexivity), in addition to the symmetric and transitive properties already required by PartialEq.

§Derivable

This trait can be used with #[derive]. When derived, because Eq has no extra methods, it is only informing the compiler that this is an equivalence relation rather than a partial equivalence relation. Note that the derive strategy requires all fields are Eq, which isn’t always desired.

§How can I implement Eq?

If you cannot use the derive strategy, specify that your type implements Eq, which has no methods:

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
    }
}
impl Eq for Book {}

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Eq for TryReserveErrorKind

source§

impl Eq for AsciiChar

source§

impl Eq for core::cmp::Ordering

1.34.0 · source§

impl Eq for Infallible

1.28.0 · source§

impl Eq for core::fmt::Alignment

1.7.0 · source§

impl Eq for IpAddr

source§

impl Eq for Ipv6MulticastScope

source§

impl Eq for SocketAddr

source§

impl Eq for FpCategory

1.55.0 · source§

impl Eq for IntErrorKind

source§

impl Eq for SearchStep

source§

impl Eq for core::sync::atomic::Ordering

1.65.0 · source§

impl Eq for BacktraceStatus

source§

impl Eq for VarError

source§

impl Eq for SeekFrom

source§

impl Eq for ErrorKind

source§

impl Eq for Shutdown

source§

impl Eq for BacktraceStyle

1.12.0 · source§

impl Eq for RecvTimeoutError

source§

impl Eq for TryRecvError

source§

impl Eq for num_bigfloat::defs::Error

source§

impl Eq for RoundingMode

source§

impl Eq for BernoulliError

source§

impl Eq for WeightedError

source§

impl Eq for bool

source§

impl Eq for char

source§

impl Eq for i8

source§

impl Eq for i16

source§

impl Eq for i32

source§

impl Eq for i64

source§

impl Eq for i128

source§

impl Eq for isize

source§

impl Eq for !

source§

impl Eq for str

source§

impl Eq for u8

source§

impl Eq for u16

source§

impl Eq for u32

source§

impl Eq for u64

source§

impl Eq for u128

source§

impl Eq for ()

source§

impl Eq for usize

source§

impl Eq for BigFloat

source§

impl Eq for UnorderedKeyError

1.57.0 · source§

impl Eq for TryReserveError

1.64.0 · source§

impl Eq for CString

1.64.0 · source§

impl Eq for FromVecWithNulError

1.64.0 · source§

impl Eq for IntoStringError

1.64.0 · source§

impl Eq for NulError

source§

impl Eq for FromUtf8Error

source§

impl Eq for String

1.28.0 · source§

impl Eq for Layout

1.50.0 · source§

impl Eq for LayoutError

source§

impl Eq for AllocError

source§

impl Eq for TypeId

1.34.0 · source§

impl Eq for CharTryFromError

1.20.0 · source§

impl Eq for ParseCharError

1.9.0 · source§

impl Eq for DecodeUtf16Error

1.59.0 · source§

impl Eq for TryFromCharError

1.27.0 · source§

impl Eq for CpuidResult

source§

impl Eq for CStr

1.69.0 · source§

impl Eq for FromBytesUntilNulError

1.64.0 · source§

impl Eq for FromBytesWithNulError

source§

impl Eq for core::fmt::Error

1.33.0 · source§

impl Eq for PhantomPinned

source§

impl Eq for Assume

source§

impl Eq for Ipv4Addr

source§

impl Eq for Ipv6Addr

source§

impl Eq for AddrParseError

source§

impl Eq for SocketAddrV4

source§

impl Eq for SocketAddrV6

source§

impl Eq for ParseFloatError

source§

impl Eq for ParseIntError

1.34.0 · source§

impl Eq for TryFromIntError

source§

impl Eq for RangeFull

source§

impl Eq for core::ptr::alignment::Alignment

source§

impl Eq for ParseBoolError

source§

impl Eq for Utf8Error

1.3.0 · source§

impl Eq for Duration

1.66.0 · source§

impl Eq for TryFromFloatSecsError

source§

impl Eq for OsStr

source§

impl Eq for OsString

1.1.0 · source§

impl Eq for FileType

source§

impl Eq for Permissions

source§

impl Eq for UCred

source§

impl Eq for Components<'_>

source§

impl Eq for Path

source§

impl Eq for PathBuf

1.7.0 · source§

impl Eq for StripPrefixError

source§

impl Eq for ExitStatus

source§

impl Eq for ExitStatusError

source§

impl Eq for Output

1.5.0 · source§

impl Eq for WaitTimeoutResult

source§

impl Eq for RecvError

1.26.0 · source§

impl Eq for AccessError

1.19.0 · source§

impl Eq for ThreadId

1.8.0 · source§

impl Eq for Instant

1.8.0 · source§

impl Eq for SystemTime

source§

impl Eq for futures_channel::mpsc::SendError

source§

impl Eq for Canceled

source§

impl Eq for getrandom::error::Error

source§

impl Eq for StepRng

source§

impl Eq for StdRng

source§

impl Eq for ChaCha8Core

source§

impl Eq for ChaCha8Rng

source§

impl Eq for ChaCha12Core

source§

impl Eq for ChaCha12Rng

source§

impl Eq for ChaCha20Core

source§

impl Eq for ChaCha20Rng

§

impl Eq for Dl_info

§

impl Eq for __c_anonymous_ifc_ifcu

§

impl Eq for __c_anonymous_ifk_data

§

impl Eq for __c_anonymous_ifr_ifru

§

impl Eq for __darwin_mcontext64

§

impl Eq for __darwin_mmst_reg

§

impl Eq for __darwin_x86_exception_state64

§

impl Eq for __darwin_x86_float_state64

§

impl Eq for __darwin_x86_thread_state64

§

impl Eq for __darwin_xmm_reg

§

impl Eq for addrinfo

§

impl Eq for aiocb

§

impl Eq for arphdr

§

impl Eq for attribute_set_t

§

impl Eq for attrlist

§

impl Eq for attrreference_t

§

impl Eq for bpf_hdr

§

impl Eq for cmsghdr

§

impl Eq for ctl_info

§

impl Eq for dirent

§

impl Eq for dqblk

§

impl Eq for fd_set

§

impl Eq for flock

§

impl Eq for fpunchhole_t

§

impl Eq for fsid_t

§

impl Eq for fspecread_t

§

impl Eq for fstore_t

§

impl Eq for ftrimactivefile_t

§

impl Eq for glob_t

§

impl Eq for group

§

impl Eq for hostent

§

impl Eq for if_data

§

impl Eq for if_data64

§

impl Eq for if_msghdr

§

impl Eq for if_msghdr2

§

impl Eq for if_nameindex

§

impl Eq for ifa_msghdr

§

impl Eq for ifaddrs

§

impl Eq for ifconf

§

impl Eq for ifdevmtu

§

impl Eq for ifkpi

§

impl Eq for ifma_msghdr

§

impl Eq for ifma_msghdr2

§

impl Eq for ifreq

§

impl Eq for image_offset

§

impl Eq for in6_addr

§

impl Eq for in6_pktinfo

§

impl Eq for in_addr

§

impl Eq for in_pktinfo

§

impl Eq for iovec

§

impl Eq for ip_mreq

§

impl Eq for ip_mreq_source

§

impl Eq for ip_mreqn

§

impl Eq for ipc_perm

§

impl Eq for ipv6_mreq

§

impl Eq for itimerval

§

impl Eq for kevent

§

impl Eq for kevent64_s

§

impl Eq for lconv

§

impl Eq for linger

§

impl Eq for load_command

§

impl Eq for log2phys

§

impl Eq for mach_header

§

impl Eq for mach_header_64

§

impl Eq for mach_task_basic_info

§

impl Eq for mach_timebase_info

§

impl Eq for malloc_introspection_t

§

impl Eq for malloc_statistics_t

§

impl Eq for malloc_zone_t

§

impl Eq for msghdr

§

impl Eq for mstats

§

impl Eq for ntptimeval

§

impl Eq for option

§

impl Eq for os_unfair_lock_s

§

impl Eq for passwd

§

impl Eq for pollfd

§

impl Eq for proc_bsdinfo

§

impl Eq for proc_taskallinfo

§

impl Eq for proc_taskinfo

§

impl Eq for proc_threadinfo

§

impl Eq for proc_vnodepathinfo

§

impl Eq for processor_basic_info

§

impl Eq for processor_cpu_load_info

§

impl Eq for processor_set_basic_info

§

impl Eq for processor_set_load_info

§

impl Eq for protoent

§

impl Eq for pthread_attr_t

§

impl Eq for pthread_cond_t

§

impl Eq for pthread_condattr_t

§

impl Eq for pthread_mutex_t

§

impl Eq for pthread_mutexattr_t

§

impl Eq for pthread_rwlock_t

§

impl Eq for pthread_rwlockattr_t

§

impl Eq for radvisory

§

impl Eq for regex_t

§

impl Eq for regmatch_t

§

impl Eq for rlimit

§

impl Eq for rt_metrics

§

impl Eq for rt_msghdr

§

impl Eq for rt_msghdr2

§

impl Eq for rusage

§

impl Eq for rusage_info_v0

§

impl Eq for rusage_info_v1

§

impl Eq for rusage_info_v2

§

impl Eq for rusage_info_v3

§

impl Eq for rusage_info_v4

§

impl Eq for sa_endpoints_t

§

impl Eq for sched_param

§

impl Eq for segment_command

§

impl Eq for segment_command_64

§

impl Eq for sembuf

§

impl Eq for semid_ds

§

impl Eq for semun

§

impl Eq for servent

§

impl Eq for sf_hdtr

§

impl Eq for shmid_ds

§

impl Eq for sigaction

§

impl Eq for sigevent

§

impl Eq for siginfo_t

§

impl Eq for sigval

§

impl Eq for sockaddr

§

impl Eq for sockaddr_ctl

§

impl Eq for sockaddr_dl

§

impl Eq for sockaddr_in

§

impl Eq for sockaddr_in6

§

impl Eq for sockaddr_inarp

§

impl Eq for sockaddr_ndrv

§

impl Eq for sockaddr_storage

§

impl Eq for sockaddr_un

§

impl Eq for sockaddr_vm

§

impl Eq for stack_t

§

impl Eq for stat

§

impl Eq for statfs

§

impl Eq for statvfs

§

impl Eq for task_thread_times_info

§

impl Eq for tcp_connection_info

§

impl Eq for termios

§

impl Eq for thread_affinity_policy

§

impl Eq for thread_background_policy

§

impl Eq for thread_basic_info

§

impl Eq for thread_extended_info

§

impl Eq for thread_extended_policy

§

impl Eq for thread_identifier_info

§

impl Eq for thread_latency_qos_policy

§

impl Eq for thread_precedence_policy

§

impl Eq for thread_standard_policy

§

impl Eq for thread_throughput_qos_policy

§

impl Eq for thread_time_constraint_policy

§

impl Eq for time_value_t

§

impl Eq for timespec

§

impl Eq for timeval

§

impl Eq for timeval32

§

impl Eq for timex

§

impl Eq for tm

§

impl Eq for tms

§

impl Eq for ucontext_t

§

impl Eq for utimbuf

§

impl Eq for utmpx

§

impl Eq for utsname

§

impl Eq for vec128_storage

§

impl Eq for vec256_storage

§

impl Eq for vec512_storage

§

impl Eq for vinfo_stat

§

impl Eq for vm_range_t

§

impl Eq for vm_statistics

§

impl Eq for vm_statistics64

§

impl Eq for vnode_info

§

impl Eq for vnode_info_path

§

impl Eq for vol_attributes_attr_t

§

impl Eq for vol_capabilities_attr_t

§

impl Eq for winsize

§

impl Eq for xsw_usage

§

impl Eq for xucred

source§

impl<'a> Eq for Component<'a>

source§

impl<'a> Eq for Prefix<'a>

1.10.0 · source§

impl<'a> Eq for Location<'a>

source§

impl<'a> Eq for Utf8Chunk<'a>

source§

impl<'a> Eq for PrefixComponent<'a>

source§

impl<A> Eq for &A
where A: Eq + ?Sized,

source§

impl<A> Eq for &mut A
where A: Eq + ?Sized,

source§

impl<B> Eq for Cow<'_, B>
where B: Eq + ToOwned + ?Sized,

1.55.0 · source§

impl<B, C> Eq for ControlFlow<B, C>
where B: Eq, C: Eq,

source§

impl<Dyn> Eq for DynMetadata<Dyn>
where Dyn: ?Sized,

1.4.0 · source§

impl<F> Eq for F
where F: FnPtr,

1.29.0 · source§

impl<H> Eq for BuildHasherDefault<H>

source§

impl<Idx> Eq for Range<Idx>
where Idx: Eq,

source§

impl<Idx> Eq for RangeFrom<Idx>
where Idx: Eq,

1.26.0 · source§

impl<Idx> Eq for RangeInclusive<Idx>
where Idx: Eq,

source§

impl<Idx> Eq for RangeTo<Idx>
where Idx: Eq,

1.26.0 · source§

impl<Idx> Eq for RangeToInclusive<Idx>
where Idx: Eq,

source§

impl<K, V, A> Eq for BTreeMap<K, V, A>
where K: Eq, V: Eq, A: Allocator + Clone,

source§

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

1.41.0 · source§

impl<Ptr> Eq for Pin<Ptr>
where Ptr: Deref, <Ptr as Deref>::Target: Eq,

source§

impl<T> Eq for Option<T>
where T: Eq,

1.17.0 · source§

impl<T> Eq for Bound<T>
where T: Eq,

1.36.0 · source§

impl<T> Eq for Poll<T>
where T: Eq,

source§

impl<T> Eq for std::sync::mpsc::TrySendError<T>
where T: Eq,

source§

impl<T> Eq for *const T
where T: ?Sized,

source§

impl<T> Eq for *mut T
where T: ?Sized,

source§

impl<T> Eq for [T]
where T: Eq,

source§

impl<T> Eq for (T₁, T₂, …, Tₙ)
where T: Eq + ?Sized,

This trait is implemented for tuples up to twelve items long.

1.70.0 · source§

impl<T> Eq for OnceCell<T>
where T: Eq,

1.2.0 · source§

impl<T> Eq for Cell<T>
where T: Eq + Copy,

1.2.0 · source§

impl<T> Eq for RefCell<T>
where T: Eq + ?Sized,

1.19.0 · source§

impl<T> Eq for Reverse<T>
where T: Eq,

source§

impl<T> Eq for PhantomData<T>
where T: ?Sized,

1.20.0 · source§

impl<T> Eq for ManuallyDrop<T>
where T: Eq + ?Sized,

1.21.0 · source§

impl<T> Eq for Discriminant<T>

1.28.0 · source§

impl<T> Eq for NonZero<T>
where T: ZeroablePrimitive + Eq,

1.74.0 · source§

impl<T> Eq for Saturating<T>
where T: Eq,

source§

impl<T> Eq for Wrapping<T>
where T: Eq,

1.25.0 · source§

impl<T> Eq for NonNull<T>
where T: ?Sized,

source§

impl<T> Eq for Cursor<T>
where T: Eq,

source§

impl<T> Eq for std::sync::mpsc::SendError<T>
where T: Eq,

1.70.0 · source§

impl<T> Eq for OnceLock<T>
where T: Eq,

source§

impl<T> Eq for futures_channel::mpsc::TrySendError<T>
where T: Eq,

source§

impl<T, A> Eq for Box<T, A>
where T: Eq + ?Sized, A: Allocator,

source§

impl<T, A> Eq for BTreeSet<T, A>
where T: Eq, A: Allocator + Clone,

source§

impl<T, A> Eq for LinkedList<T, A>
where T: Eq, A: Allocator,

source§

impl<T, A> Eq for VecDeque<T, A>
where T: Eq, A: Allocator,

source§

impl<T, A> Eq for Rc<T, A>
where T: Eq + ?Sized, A: Allocator,

source§

impl<T, A> Eq for Arc<T, A>
where T: Eq + ?Sized, A: Allocator,

source§

impl<T, A> Eq for Vec<T, A>
where T: Eq, A: Allocator,

source§

impl<T, E> Eq for Result<T, E>
where T: Eq, E: Eq,

source§

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

source§

impl<T, const N: usize> Eq for [T; N]
where T: Eq,

source§

impl<T, const N: usize> Eq for Simd<T, N>

source§

impl<Y, R> Eq for CoroutineState<Y, R>
where Y: Eq, R: Eq,