Trait Hash

1.0.0 · Source
pub(crate) trait Hash {
    // Required method
    fn hash<H>(&self, state: &mut H)
       where H: Hasher;

    // Provided method
    fn hash_slice<H>(data: &[Self], state: &mut H)
       where H: Hasher,
             Self: Sized { ... }
}
Expand description

A hashable type.

Types implementing Hash are able to be hashed with an instance of Hasher.

§Implementing Hash

You can derive Hash with #[derive(Hash)] if all fields implement Hash. The resulting hash will be the combination of the values from calling hash on each field.

#[derive(Hash)]
struct Rustacean {
    name: String,
    country: String,
}

If you need more control over how a value is hashed, you can of course implement the Hash trait yourself:

use std::hash::{Hash, Hasher};

struct Person {
    id: u32,
    name: String,
    phone: u64,
}

impl Hash for Person {
    fn hash<H: Hasher>(&self, state: &mut H) {
        self.id.hash(state);
        self.phone.hash(state);
    }
}

§Hash and Eq

When implementing both Hash and Eq, it is important that the following property holds:

k1 == k2 -> hash(k1) == hash(k2)

In other words, if two keys are equal, their hashes must also be equal. HashMap and HashSet both rely on this behavior.

Thankfully, you won’t need to worry about upholding this property when deriving both Eq and Hash with #[derive(PartialEq, Eq, Hash)].

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.

§Prefix collisions

Implementations of hash should ensure that the data they pass to the Hasher are prefix-free. That is, values which are not equal should cause two different sequences of values to be written, and neither of the two sequences should be a prefix of the other.

For example, the standard implementation of Hash for &str passes an extra 0xFF byte to the Hasher so that the values ("ab", "c") and ("a", "bc") hash differently.

§Portability

Due to differences in endianness and type sizes, data fed by Hash to a Hasher should not be considered portable across platforms. Additionally the data passed by most standard library types should not be considered stable between compiler versions.

This means tests shouldn’t probe hard-coded hash values or data fed to a Hasher and instead should check consistency with Eq.

Serialization formats intended to be portable between platforms or compiler versions should either avoid encoding hashes or only rely on Hash and Hasher implementations that provide additional guarantees.

Required Methods§

1.0.0 · Source

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher.

§Examples
use std::hash::{DefaultHasher, Hash, Hasher};

let mut hasher = DefaultHasher::new();
7920.hash(&mut hasher);
println!("Hash is {:x}!", hasher.finish());

Provided Methods§

1.3.0 · Source

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher.

This method is meant as a convenience, but its implementation is also explicitly left unspecified. It isn’t guaranteed to be equivalent to repeated calls of hash and implementations of Hash should keep that in mind and call hash themselves if the slice isn’t treated as a whole unit in the PartialEq implementation.

For example, a VecDeque implementation might naïvely call as_slices and then hash_slice on each slice, but this is wrong since the two slices can change with a call to make_contiguous without affecting the PartialEq result. Since these slices aren’t treated as singular units, and instead part of a larger deque, this method cannot be used.

§Examples
use std::hash::{DefaultHasher, Hash, Hasher};

let mut hasher = DefaultHasher::new();
let numbers = [6, 28, 496, 8128];
Hash::hash_slice(&numbers, &mut hasher);
println!("Hash is {:x}!", hasher.finish());

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

1.0.0 · Source§

impl Hash for tor_hsservice::internal_prelude::Ordering

Source§

impl Hash for core::ascii::ascii_char::AsciiChar

1.44.0 · Source§

impl Hash for Infallible

1.7.0 · Source§

impl Hash for core::net::ip_addr::IpAddr

Source§

impl Hash for Ipv6MulticastScope

1.0.0 · Source§

impl Hash for SocketAddr

1.0.0 · Source§

impl Hash for core::sync::atomic::Ordering

Source§

impl Hash for log::Level

Source§

impl Hash for log::LevelFilter

Source§

impl Hash for Sign

Source§

impl Hash for serde_value::Value

Source§

impl Hash for serde_json::value::Value

Source§

impl Hash for Origin

1.0.0 · Source§

impl Hash for tor_hsservice::internal_prelude::io::ErrorKind

1.0.0 · Source§

impl Hash for bool

1.0.0 · Source§

impl Hash for char

1.0.0 · Source§

impl Hash for i8

1.0.0 · Source§

impl Hash for i16

1.0.0 · Source§

impl Hash for i32

1.0.0 · Source§

impl Hash for i64

1.0.0 · Source§

impl Hash for i128

1.0.0 · Source§

impl Hash for isize

1.29.0 · Source§

impl Hash for !

1.0.0 · Source§

impl Hash for str

1.0.0 · Source§

impl Hash for u8

1.0.0 · Source§

impl Hash for u16

1.0.0 · Source§

impl Hash for u32

1.0.0 · Source§

impl Hash for u64

1.0.0 · Source§

impl Hash for u128

1.0.0 · Source§

impl Hash for ()

1.0.0 · Source§

impl Hash for usize

Source§

impl Hash for TargetPort

Source§

impl Hash for HsClientNickname

Available on crate feature restricted-discovery only.
Source§

impl Hash for IptLocalId

Source§

impl Hash for IsCurrent

§

impl Hash for HsId

§

impl Hash for HsNickname

§

impl Hash for InvalidNickname

Source§

impl Hash for FutureTimestamp

Source§

impl Hash for tor_hsservice::time_store::ParseError

Source§

impl Hash for Reference

§

impl Hash for Ed25519Identity

1.0.0 · Source§

impl Hash for tor_hsservice::internal_prelude::fmt::Error

1.1.0 · Source§

impl Hash for FileType

Source§

impl Hash for ByteString

1.64.0 · Source§

impl Hash for CString

1.0.0 · Source§

impl Hash for String

1.28.0 · Source§

impl Hash for Layout

1.0.0 · Source§

impl Hash for TypeId

Source§

impl Hash for ByteStr

1.64.0 · Source§

impl Hash for CStr

1.33.0 · Source§

impl Hash for PhantomPinned

1.0.0 · Source§

impl Hash for core::net::ip_addr::Ipv4Addr

1.0.0 · Source§

impl Hash for core::net::ip_addr::Ipv6Addr

1.0.0 · Source§

impl Hash for SocketAddrV4

1.0.0 · Source§

impl Hash for SocketAddrV6

1.0.0 · Source§

impl Hash for RangeFull

Source§

impl Hash for Alignment

1.0.0 · Source§

impl Hash for OsString

Source§

impl Hash for std::os::unix::net::ucred::UCred

1.0.0 · Source§

impl Hash for PrefixComponent<'_>

1.19.0 · Source§

impl Hash for ThreadId

Source§

impl Hash for BigInt

Source§

impl Hash for BigUint

Source§

impl Hash for TimeDiff

Source§

impl Hash for CMSOptions

Source§

impl Hash for Nid

Source§

impl Hash for OcspFlag

Source§

impl Hash for KeyIvPair

Source§

impl Hash for Pkcs7Flags

Source§

impl Hash for ExtensionContext

Source§

impl Hash for ShutdownState

Source§

impl Hash for SslMode

Source§

impl Hash for SslOptions

Source§

impl Hash for SslSessionCacheMode

Source§

impl Hash for SslVerifyMode

Source§

impl Hash for X509CheckFlags

Source§

impl Hash for X509VerifyFlags

Source§

impl Hash for ByteBuf

Source§

impl Hash for serde_bytes::bytes::Bytes

Source§

impl Hash for Map<String, Value>

Source§

impl Hash for Number

Source§

impl Hash for DefaultKey

Source§

impl Hash for slotmap::KeyData

Source§

impl Hash for ATerm

Source§

impl Hash for B0

Source§

impl Hash for B1

Source§

impl Hash for Z0

Source§

impl Hash for Equal

Source§

impl Hash for Greater

Source§

impl Hash for Less

Source§

impl Hash for UTerm

Source§

impl Hash for OpaqueOrigin

Source§

impl Hash for Url

URLs hash like their serialization.

§

impl Hash for ArtiPathRange

1.3.0 · Source§

impl Hash for tor_hsservice::internal_prelude::Duration

§

impl Hash for HsBlindId

1.8.0 · Source§

impl Hash for tor_hsservice::internal_prelude::Instant

1.0.0 · Source§

impl Hash for OsStr

1.0.0 · Source§

impl Hash for tor_hsservice::internal_prelude::Path

1.0.0 · Source§

impl Hash for tor_hsservice::internal_prelude::PathBuf

§

impl Hash for RelayIds

§

impl Hash for Slug

1.8.0 · Source§

impl Hash for SystemTime

§

impl Hash for Access

§

impl Hash for AccessKind

§

impl Hash for AccessMode

§

impl Hash for AddressFamily

§

impl Hash for Advice

§

impl Hash for Algorithm

§

impl Hash for AlgorithmName

§

impl Hash for AnyDelimiterCodec

§

impl Hash for ArtiPath

§

impl Hash for AsciiChar

§

impl Hash for AsciiStr

§

impl Hash for AsciiString

§

impl Hash for AssemblyOffset

§

impl Hash for AtFlags

§

impl Hash for Attribute

§

impl Hash for Attributes

§

impl Hash for AuthCertKeyIds

§

impl Hash for Authority

Case-insensitive hashing

§Examples


let a: Authority = "HELLO.com".parse().unwrap();
let b: Authority = "hello.coM".parse().unwrap();

let mut s = DefaultHasher::new();
a.hash(&mut s);
let a = s.finish();

let mut s = DefaultHasher::new();
b.hash(&mut s);
let b = s.finish();

assert_eq!(a, b);
§

impl Hash for BStr

§

impl Hash for BStr

§

impl Hash for BString

§

impl Hash for BadSlug

§

impl Hash for Base64

§

impl Hash for Base64Bcrypt

§

impl Hash for Base64Crypt

§

impl Hash for Base64ShaCrypt

§

impl Hash for Base64Unpadded

§

impl Hash for Base64Url

§

impl Hash for Base64UrlUnpadded

§

impl Hash for BidiClass

§

impl Hash for BigEndian

§

impl Hash for BigEndian

§

impl Hash for Blocking

§

impl Hash for BoolOrAuto

§

impl Hash for BridgeAddr

§

impl Hash for BridgeConfig

§

impl Hash for BufferFormat

§

impl Hash for ByteQty

§

impl Hash for Bytes

§

impl Hash for Bytes

§

impl Hash for BytesCodec

§

impl Hash for BytesMut

§

impl Hash for CTorPath

§

impl Hash for CTorServicePath

§

impl Hash for CanonicalCombiningClass

§

impl Hash for CertType

§

impl Hash for ChannelMethod

§

impl Hash for CharULE

§

impl Hash for Cipher

§

impl Hash for CircId

§

impl Hash for ClockId

§

impl Hash for CoarseDuration

§

impl Hash for CoarseInstant

§

impl Hash for CollapseReason

§

impl Hash for ComponentRange

§

impl Hash for CompressedEdwardsY

§

impl Hash for CompressedRistretto

§

impl Hash for CompressionLevel

§

impl Hash for CompressionStrategy

§

impl Hash for Config

§

impl Hash for ConfigurationSource

§

impl Hash for ConsensusFlavor

§

impl Hash for Const

§

impl Hash for CpuSet

§

impl Hash for Cpuid

§

impl Hash for CreateFlags

§

impl Hash for CreateFlags

§

impl Hash for CreateKind

§

impl Hash for DataChange

§

impl Hash for DataFormat

§

impl Hash for DataKey

§

impl Hash for DataKeyHash

§

impl Hash for DataLocale

§

impl Hash for Date

§

impl Hash for DebouncedEvent

§

impl Hash for DebouncedEventKind

§

impl Hash for Decor

§

impl Hash for Direction

§

impl Hash for DisfavouredKey

§

impl Hash for DivError

§

impl Hash for Dl_info

§

impl Hash for DosParams

§

impl Hash for DsaPublicKey

§

impl Hash for DupFlags

§

impl Hash for Duration

§

impl Hash for Duration

§

impl Hash for Duration

§

impl Hash for DynamicLabel

§

impl Hash for EastAsianWidth

§

impl Hash for EcdsaCurve

§

impl Hash for EcdsaPublicKey

§

impl Hash for Ed25519PublicKey

§

impl Hash for Elf32_Chdr

§

impl Hash for Elf32_Ehdr

§

impl Hash for Elf32_Phdr

§

impl Hash for Elf32_Shdr

§

impl Hash for Elf32_Sym

§

impl Hash for Elf64_Chdr

§

impl Hash for Elf64_Ehdr

§

impl Hash for Elf64_Phdr

§

impl Hash for Elf64_Shdr

§

impl Hash for Elf64_Sym

§

impl Hash for Errno

§

impl Hash for Error

§

impl Hash for ErrorKind

§

impl Hash for Event

§

impl Hash for Event

§

impl Hash for EventData

§

impl Hash for EventFlags

§

impl Hash for EventKind

§

impl Hash for EventMask

§

impl Hash for EventfdFlags

§

impl Hash for ExtensionType

§

impl Hash for Extensions

§

impl Hash for FallocateFlags

§

impl Hash for FdFlags

§

impl Hash for Field

§

impl Hash for Fields

§

impl Hash for FileTime

§

impl Hash for Flag

§

impl Hash for FloatingPointEmulationControl

§

impl Hash for FloatingPointExceptionMode

§

impl Hash for FullError

§

impl Hash for GeneralCategory

§

impl Hash for Gid

§

impl Hash for GraphemeClusterBreak

§

impl Hash for HalfMatch

§

impl Hash for Handle

§

impl Hash for HangulSyllableType

§

impl Hash for HashAlg

§

impl Hash for HeaderName

§

impl Hash for HeaderValue

§

impl Hash for HttpDate

§

impl Hash for Id

§

impl Hash for Id

§

impl Hash for Identifier

§

impl Hash for Index16

§

impl Hash for Index32

§

impl Hash for IndicSyllabicCategory

§

impl Hash for Instant

§

impl Hash for Instant

§

impl Hash for InternalString

§

impl Hash for IpAddr

§

impl Hash for Ipv4Addr

§

impl Hash for Ipv6Addr

§

impl Hash for Iso8601TimeSlug

§

impl Hash for JoiningType

§

impl Hash for KdfAlg

§

impl Hash for Key

§

impl Hash for Key

§

impl Hash for Key

§

impl Hash for KeyData

§

impl Hash for KeyPath

§

impl Hash for KeyPathPattern

§

impl Hash for KeyType

§

impl Hash for KeystoreId

§

impl Hash for KeystoreItemType

§

impl Hash for Keywords

§

impl Hash for LabelKind

§

impl Hash for Language

§

impl Hash for LanguageIdentifier

§

impl Hash for Level

§

impl Hash for LevelFilter

§

impl Hash for LineBreak

§

impl Hash for LinesCodec

§

impl Hash for Listen

§

impl Hash for LittleEndian

§

impl Hash for LittleEndian

§

impl Hash for Liveness

§

impl Hash for Locale

§

impl Hash for Lsb0

§

impl Hash for MZError

§

impl Hash for MZFlush

§

impl Hash for MZStatus

§

impl Hash for Match

§

impl Hash for MembarrierQuery

§

impl Hash for MemfdFlags

§

impl Hash for MetadataKind

§

impl Hash for Method

§

impl Hash for Mode

§

impl Hash for ModifyKind

§

impl Hash for MontgomeryPoint

§

impl Hash for Month

§

impl Hash for MountFlags

§

impl Hash for MountPropagationFlags

§

impl Hash for MpscSpec

§

impl Hash for MpscUnboundedSpec

§

impl Hash for Msb0

§

impl Hash for Mut

§

impl Hash for NetstatusKwd

§

impl Hash for NonMaxUsize

§

impl Hash for NonUtf8Error

§

impl Hash for NullPtrError

§

impl Hash for OFlags

§

impl Hash for ObjectIdentifier

§

impl Hash for OffsetDateTime

§

impl Hash for OpaquePublicKey

§

impl Hash for OpaquePublicKeyBytes

§

impl Hash for Opcode

§

impl Hash for Other

§

impl Hash for PaddingLevel

§

impl Hash for ParseError

§

impl Hash for ParseLengthError

§

impl Hash for Path

§

impl Hash for PathAndQuery

§

impl Hash for PathBuf

§

impl Hash for PatternID

§

impl Hash for Pid

§

impl Hash for PidfdFlags

§

impl Hash for PidfdGetfdFlags

§

impl Hash for PipeFlags

§

impl Hash for PollFlags

§

impl Hash for PollMode

§

impl Hash for PollNext

§

impl Hash for PortPolicy

§

impl Hash for PortRange

§

impl Hash for Posit8

§

impl Hash for Posit16

§

impl Hash for Posit32

§

impl Hash for Posit64

§

impl Hash for Posit128

§

impl Hash for Posit256

§

impl Hash for Posit512

§

impl Hash for PositDecodeError

§

impl Hash for PrimitiveDateTime

§

impl Hash for Private

§

impl Hash for Profile

§

impl Hash for ProtoKind

§

impl Hash for Protocol

§

impl Hash for Protocols

§

impl Hash for PtTarget

§

impl Hash for PtTargetAddr

§

impl Hash for PtTargetSettings

§

impl Hash for PtTransportName

§

impl Hash for PublicKey

§

impl Hash for PublicKey

§

impl Hash for PwdGrp

§

impl Hash for RB

§

impl Hash for RC

§

impl Hash for RC

§

impl Hash for RD

§

impl Hash for RF

§

impl Hash for RV

§

impl Hash for RX

§

impl Hash for RX

§

impl Hash for RXSP

§

impl Hash for RawOsStr

§

impl Hash for RawOsString

§

impl Hash for RawString

§

impl Hash for Rd

§

impl Hash for ReadFlags

§

impl Hash for ReadWriteFlags

§

impl Hash for RealEffectiveSavedIds

§

impl Hash for Reclaimed

§

impl Hash for RecursiveMode

§

impl Hash for RecvFlags

§

impl Hash for Region

§

impl Hash for RelayFamily

§

impl Hash for RelayId

§

impl Hash for RelayIdType

§

impl Hash for RelocationKind

§

impl Hash for RelocationSize

§

impl Hash for RemoveKind

§

impl Hash for RenameFlags

§

impl Hash for RenameMode

§

impl Hash for Repr

§

impl Hash for ResolveFlags

§

impl Hash for Rf

§

impl Hash for Rh

§

impl Hash for Rm

§

impl Hash for Rq

§

impl Hash for Rs

§

impl Hash for RsaIdentity

§

impl Hash for RsaPrivateKey

§

impl Hash for RsaPublicKey

§

impl Hash for RsaPublicKey

§

impl Hash for Rx

§

impl Hash for Rx

§

impl Hash for Scalar

§

impl Hash for Scheme

Case-insensitive hashing

§

impl Hash for Script

§

impl Hash for Script

§

impl Hash for SealFlags

§

impl Hash for SendFlags

§

impl Hash for SendMeVersion

§

impl Hash for SentenceBreak

§

impl Hash for Shutdown

§

impl Hash for SigId

§

impl Hash for Signal

§

impl Hash for SignalKind

§

impl Hash for SkEcdsaSha2NistP256

§

impl Hash for SkEd25519

§

impl Hash for SlugRef

§

impl Hash for SmallIndex

§

impl Hash for SockAddr

§

impl Hash for SockaddrXdpFlags

§

impl Hash for SocketAddrAny

§

impl Hash for SocketAddrUnix

§

impl Hash for SocketAddrXdp

§

impl Hash for SocketFlags

§

impl Hash for SocketType

§

impl Hash for SocksAuth

§

impl Hash for Span

§

impl Hash for Span

§

impl Hash for SpeculationFeatureControl

§

impl Hash for SpeculationFeatureState

§

impl Hash for SpliceFlags

§

impl Hash for StatVfsMountFlags

§

impl Hash for StateID

§

impl Hash for StaticLabel

§

impl Hash for StatusCode

§

impl Hash for StatxFlags

§

impl Hash for StreamId

§

impl Hash for StreamResult

§

impl Hash for Subtag

§

impl Hash for Subtag

§

impl Hash for TDEFLFlush

§

impl Hash for TDEFLStatus

§

impl Hash for TINFLStatus

§

impl Hash for Tag

§

impl Hash for TargetKind

§

impl Hash for TaskId

§

impl Hash for Time

§

impl Hash for Timeout

§

impl Hash for TimerfdClockId

§

impl Hash for TimerfdFlags

§

impl Hash for TimerfdTimerFlags

§

impl Hash for Timestamp

§

impl Hash for Token

§

impl Hash for TomlError

§

impl Hash for TooLargeBufferRequiredError

§

impl Hash for TorVersion

§

impl Hash for Transform

§

impl Hash for Transition

§

impl Hash for TransportId

§

impl Hash for TrustedGroup

§

impl Hash for TrustedUser

§

impl Hash for UCred

§

impl Hash for UCred

§

impl Hash for Uid

§

impl Hash for UnalignedAccessControl

§

impl Hash for Uncased<'_>

§

impl Hash for UncasedStr

§

impl Hash for UncheckedAdvice

§

impl Hash for UnexpectedNullPointerError

§

impl Hash for Unicode

§

impl Hash for UniqId

§

impl Hash for UniqId

§

impl Hash for UnmountFlags

§

impl Hash for UnvalidatedChar

§

impl Hash for Uri

§

impl Hash for UtcDateTime

§

impl Hash for UtcOffset

§

impl Hash for Value

§

impl Hash for Value

§

impl Hash for Variant

§

impl Hash for Variants

§

impl Hash for VerifyingKey

§

impl Hash for Version

§

impl Hash for WaitOptions

§

impl Hash for WaitidOptions

§

impl Hash for WatchDescriptor

§

impl Hash for WatchFlags

§

impl Hash for WatchMask

§

impl Hash for WatcherKind

§

impl Hash for Weekday

§

impl Hash for WordBreak

§

impl Hash for XattrFlags

§

impl Hash for XdpDesc

§

impl Hash for XdpDescOptions

§

impl Hash for XdpMmapOffsets

§

impl Hash for XdpOptions

§

impl Hash for XdpOptionsFlags

§

impl Hash for XdpRingFlags

§

impl Hash for XdpRingOffset

§

impl Hash for XdpStatistics

§

impl Hash for XdpUmemReg

§

impl Hash for XdpUmemRegFlags

§

impl Hash for ZSTD_EndDirective

§

impl Hash for ZSTD_ErrorCode

§

impl Hash for ZSTD_ResetDirective

§

impl Hash for ZSTD_cParameter

§

impl Hash for ZSTD_dParameter

§

impl Hash for ZSTD_strategy

§

impl Hash for __c_anonymous__kernel_fsid_t

§

impl Hash for __c_anonymous_elf32_rel

§

impl Hash for __c_anonymous_elf32_rela

§

impl Hash for __c_anonymous_elf64_rel

§

impl Hash for __c_anonymous_elf64_rela

§

impl Hash for __c_anonymous_ifru_map

§

impl Hash for __c_anonymous_ptrace_syscall_info_data

§

impl Hash for __c_anonymous_ptrace_syscall_info_entry

§

impl Hash for __c_anonymous_ptrace_syscall_info_exit

§

impl Hash for __c_anonymous_ptrace_syscall_info_seccomp

§

impl Hash for __c_anonymous_sockaddr_can_j1939

§

impl Hash for __c_anonymous_sockaddr_can_tp

§

impl Hash for __exit_status

§

impl Hash for __timeval

§

impl Hash for _bindgen_ty_1

§

impl Hash for _bindgen_ty_1

§

impl Hash for _bindgen_ty_2

§

impl Hash for _bindgen_ty_2

§

impl Hash for _bindgen_ty_3

§

impl Hash for _bindgen_ty_3

§

impl Hash for _bindgen_ty_4

§

impl Hash for _bindgen_ty_4

§

impl Hash for _bindgen_ty_5

§

impl Hash for _bindgen_ty_5

§

impl Hash for _bindgen_ty_6

§

impl Hash for _bindgen_ty_6

§

impl Hash for _bindgen_ty_7

§

impl Hash for _bindgen_ty_7

§

impl Hash for _bindgen_ty_8

§

impl Hash for _bindgen_ty_8

§

impl Hash for _bindgen_ty_9

§

impl Hash for _bindgen_ty_9

§

impl Hash for _bindgen_ty_10

§

impl Hash for _bindgen_ty_11

§

impl Hash for _bindgen_ty_12

§

impl Hash for _bindgen_ty_13

§

impl Hash for _bindgen_ty_14

§

impl Hash for _bindgen_ty_15

§

impl Hash for _bindgen_ty_16

§

impl Hash for _bindgen_ty_17

§

impl Hash for _bindgen_ty_18

§

impl Hash for _bindgen_ty_19

§

impl Hash for _bindgen_ty_20

§

impl Hash for _bindgen_ty_21

§

impl Hash for _bindgen_ty_22

§

impl Hash for _bindgen_ty_23

§

impl Hash for _bindgen_ty_24

§

impl Hash for _bindgen_ty_25

§

impl Hash for _bindgen_ty_26

§

impl Hash for _bindgen_ty_27

§

impl Hash for _bindgen_ty_28

§

impl Hash for _bindgen_ty_29

§

impl Hash for _bindgen_ty_30

§

impl Hash for _bindgen_ty_31

§

impl Hash for _bindgen_ty_32

§

impl Hash for _bindgen_ty_33

§

impl Hash for _bindgen_ty_34

§

impl Hash for _bindgen_ty_35

§

impl Hash for _bindgen_ty_36

§

impl Hash for _bindgen_ty_37

§

impl Hash for _bindgen_ty_38

§

impl Hash for _bindgen_ty_39

§

impl Hash for _bindgen_ty_40

§

impl Hash for _bindgen_ty_41

§

impl Hash for _bindgen_ty_42

§

impl Hash for _bindgen_ty_43

§

impl Hash for _bindgen_ty_44

§

impl Hash for _bindgen_ty_45

§

impl Hash for _bindgen_ty_46

§

impl Hash for _bindgen_ty_47

§

impl Hash for _bindgen_ty_48

§

impl Hash for _bindgen_ty_49

§

impl Hash for _bindgen_ty_50

§

impl Hash for _bindgen_ty_51

§

impl Hash for _bindgen_ty_52

§

impl Hash for _bindgen_ty_53

§

impl Hash for _bindgen_ty_54

§

impl Hash for _bindgen_ty_55

§

impl Hash for _bindgen_ty_56

§

impl Hash for _bindgen_ty_57

§

impl Hash for _bindgen_ty_58

§

impl Hash for _bindgen_ty_59

§

impl Hash for _bindgen_ty_60

§

impl Hash for _bindgen_ty_61

§

impl Hash for _bindgen_ty_62

§

impl Hash for _bindgen_ty_63

§

impl Hash for _bindgen_ty_64

§

impl Hash for _bindgen_ty_65

§

impl Hash for _bindgen_ty_66

§

impl Hash for _libc_fpstate

§

impl Hash for _libc_fpxreg

§

impl Hash for _libc_xmmreg

§

impl Hash for addrinfo

§

impl Hash for af_alg_iv

§

impl Hash for aiocb

§

impl Hash for arpd_request

§

impl Hash for arphdr

§

impl Hash for arpreq

§

impl Hash for arpreq_old

§

impl Hash for can_filter

§

impl Hash for clone_args

§

impl Hash for cmsghdr

§

impl Hash for cpu_set_t

§

impl Hash for dirent

§

impl Hash for dirent64

§

impl Hash for dl_phdr_info

§

impl Hash for dmabuf_cmsg

§

impl Hash for dmabuf_token

§

impl Hash for dqblk

§

impl Hash for epoll_event

§

impl Hash for epoll_params

§

impl Hash for fanotify_event_info_error

§

impl Hash for fanotify_event_info_fid

§

impl Hash for fanotify_event_info_header

§

impl Hash for fanotify_event_info_pidfd

§

impl Hash for fanotify_event_metadata

§

impl Hash for fanotify_response

§

impl Hash for fanout_args

§

impl Hash for fd_set

§

impl Hash for ff_condition_effect

§

impl Hash for ff_constant_effect

§

impl Hash for ff_effect

§

impl Hash for ff_envelope

§

impl Hash for ff_periodic_effect

§

impl Hash for ff_ramp_effect

§

impl Hash for ff_replay

§

impl Hash for ff_rumble_effect

§

impl Hash for ff_trigger

§

impl Hash for file_clone_range

§

impl Hash for flock

§

impl Hash for flock64

§

impl Hash for fpos64_t

§

impl Hash for fpos_t

§

impl Hash for fsconfig_command

§

impl Hash for fsid_t

§

impl Hash for genlmsghdr

§

impl Hash for glob64_t

§

impl Hash for glob_t

§

impl Hash for group

§

impl Hash for hostent

§

impl Hash for hwtstamp_config

§

impl Hash for i256

§

impl Hash for i512

§

impl Hash for i1024

§

impl Hash for if_nameindex

§

impl Hash for ifaddrs

§

impl Hash for ifla_geneve_df

§

impl Hash for ifla_gtp_role

§

impl Hash for ifla_vxlan_df

§

impl Hash for in6_addr

§

impl Hash for in6_addr_gen_mode

§

impl Hash for in6_ifreq

§

impl Hash for in6_pktinfo

§

impl Hash for in6_rtmsg

§

impl Hash for in_addr

§

impl Hash for in_pktinfo

§

impl Hash for inotify_event

§

impl Hash for input_absinfo

§

impl Hash for input_event

§

impl Hash for input_id

§

impl Hash for input_keymap_entry

§

impl Hash for input_mask

§

impl Hash for iocb

§

impl Hash for iovec

§

impl Hash for ip_mreq

§

impl Hash for ip_mreq_source

§

impl Hash for ip_mreqn

§

impl Hash for ipc_perm

§

impl Hash for ipv6_mreq

§

impl Hash for ipvlan_mode

§

impl Hash for itimerspec

§

impl Hash for itimerval

§

impl Hash for iw_discarded

§

impl Hash for iw_encode_ext

§

impl Hash for iw_freq

§

impl Hash for iw_michaelmicfailure

§

impl Hash for iw_missed

§

impl Hash for iw_mlme

§

impl Hash for iw_param

§

impl Hash for iw_pmkid_cand

§

impl Hash for iw_pmksa

§

impl Hash for iw_point

§

impl Hash for iw_priv_args

§

impl Hash for iw_quality

§

impl Hash for iw_range

§

impl Hash for iw_scan_req

§

impl Hash for iw_statistics

§

impl Hash for iw_thrspy

§

impl Hash for j1939_filter

§

impl Hash for lconv

§

impl Hash for linger

§

impl Hash for macsec_offload

§

impl Hash for macsec_validation_type

§

impl Hash for macvlan_macaddr_mode

§

impl Hash for macvlan_mode

§

impl Hash for mallinfo

§

impl Hash for mallinfo2

§

impl Hash for mbstate_t

§

impl Hash for mcontext_t

§

impl Hash for membarrier_cmd

§

impl Hash for membarrier_cmd_flag

§

impl Hash for mmsghdr

§

impl Hash for mntent

§

impl Hash for mount_attr

§

impl Hash for mq_attr

§

impl Hash for msghdr

§

impl Hash for msginfo

§

impl Hash for msqid_ds

§

impl Hash for net_device_flags

§

impl Hash for nf_dev_hooks

§

impl Hash for nf_inet_hooks

§

impl Hash for nf_ip6_hook_priorities

§

impl Hash for nf_ip_hook_priorities

§

impl Hash for nl_mmap_hdr

§

impl Hash for nl_mmap_req

§

impl Hash for nl_mmap_status

§

impl Hash for nl_pktinfo

§

impl Hash for nlattr

§

impl Hash for nlmsgerr

§

impl Hash for nlmsgerr_attrs

§

impl Hash for nlmsghdr

§

impl Hash for ntptimeval

§

impl Hash for open_how

§

impl Hash for option

§

impl Hash for packet_mreq

§

impl Hash for passwd

§

impl Hash for point_conversion_form_t

§

impl Hash for pollfd

§

impl Hash for posix_spawn_file_actions_t

§

impl Hash for posix_spawnattr_t

§

impl Hash for protoent

§

impl Hash for pthread_attr_t

§

impl Hash for pthread_barrier_t

§

impl Hash for pthread_barrierattr_t

§

impl Hash for pthread_cond_t

§

impl Hash for pthread_condattr_t

§

impl Hash for pthread_mutex_t

§

impl Hash for pthread_mutexattr_t

§

impl Hash for pthread_rwlock_t

§

impl Hash for pthread_rwlockattr_t

§

impl Hash for ptp_clock_caps

§

impl Hash for ptp_clock_time

§

impl Hash for ptp_extts_event

§

impl Hash for ptp_extts_request

§

impl Hash for ptp_pin_desc

§

impl Hash for ptp_sys_offset

§

impl Hash for ptp_sys_offset_extended

§

impl Hash for ptp_sys_offset_precise

§

impl Hash for ptrace_peeksiginfo_args

§

impl Hash for ptrace_rseq_configuration

§

impl Hash for ptrace_sud_config

§

impl Hash for ptrace_syscall_info

§

impl Hash for regex_t

§

impl Hash for regmatch_t

§

impl Hash for rlimit

§

impl Hash for rlimit64

§

impl Hash for rt_class_t

§

impl Hash for rt_scope_t

§

impl Hash for rtattr_type_t

§

impl Hash for rtentry

§

impl Hash for rusage

§

impl Hash for sched_attr

§

impl Hash for sched_param

§

impl Hash for sctp_authinfo

§

impl Hash for sctp_initmsg

§

impl Hash for sctp_nxtinfo

§

impl Hash for sctp_prinfo

§

impl Hash for sctp_rcvinfo

§

impl Hash for sctp_sndinfo

§

impl Hash for sctp_sndrcvinfo

§

impl Hash for seccomp_data

§

impl Hash for seccomp_notif

§

impl Hash for seccomp_notif_addfd

§

impl Hash for seccomp_notif_resp

§

impl Hash for seccomp_notif_sizes

§

impl Hash for sem_t

§

impl Hash for sembuf

§

impl Hash for semid_ds

§

impl Hash for seminfo

§

impl Hash for servent

§

impl Hash for shmid_ds

§

impl Hash for sigaction

§

impl Hash for sigevent

§

impl Hash for siginfo_t

§

impl Hash for signalfd_siginfo

§

impl Hash for sigset_t

§

impl Hash for sigval

§

impl Hash for sock_extended_err

§

impl Hash for sock_filter

§

impl Hash for sock_fprog

§

impl Hash for sockaddr

§

impl Hash for sockaddr_alg

§

impl Hash for sockaddr_in

§

impl Hash for sockaddr_in6

§

impl Hash for sockaddr_ll

§

impl Hash for sockaddr_nl

§

impl Hash for sockaddr_pkt

§

impl Hash for sockaddr_storage

§

impl Hash for sockaddr_un

§

impl Hash for sockaddr_vm

§

impl Hash for sockaddr_xdp

§

impl Hash for socket_state

§

impl Hash for spwd

§

impl Hash for stack_t

§

impl Hash for stat

§

impl Hash for stat64

§

impl Hash for statfs

§

impl Hash for statfs64

§

impl Hash for statvfs

§

impl Hash for statvfs64

§

impl Hash for statx

§

impl Hash for statx_timestamp

§

impl Hash for sysinfo

§

impl Hash for tcp_ca_state

§

impl Hash for tcp_fastopen_client_fail

§

impl Hash for tcp_info

§

impl Hash for termios

§

impl Hash for termios2

§

impl Hash for timespec

§

impl Hash for timeval

§

impl Hash for timex

§

impl Hash for tls12_crypto_info_aes_ccm_128

§

impl Hash for tls12_crypto_info_aes_gcm_128

§

impl Hash for tls12_crypto_info_aes_gcm_256

§

impl Hash for tls12_crypto_info_aria_gcm_128

§

impl Hash for tls12_crypto_info_aria_gcm_256

§

impl Hash for tls12_crypto_info_chacha20_poly1305

§

impl Hash for tls12_crypto_info_sm4_ccm

§

impl Hash for tls12_crypto_info_sm4_gcm

§

impl Hash for tls_crypto_info

§

impl Hash for tm

§

impl Hash for tms

§

impl Hash for tpacket2_hdr

§

impl Hash for tpacket3_hdr

§

impl Hash for tpacket_auxdata

§

impl Hash for tpacket_bd_ts

§

impl Hash for tpacket_hdr

§

impl Hash for tpacket_hdr_v1

§

impl Hash for tpacket_hdr_variant1

§

impl Hash for tpacket_req

§

impl Hash for tpacket_req3

§

impl Hash for tpacket_rollover_stats

§

impl Hash for tpacket_stats

§

impl Hash for tpacket_stats_v3

§

impl Hash for tpacket_versions

§

impl Hash for u1

§

impl Hash for u2

§

impl Hash for u3

§

impl Hash for u4

§

impl Hash for u5

§

impl Hash for u6

§

impl Hash for u7

§

impl Hash for u24

§

impl Hash for u40

§

impl Hash for u48

§

impl Hash for u56

§

impl Hash for u256

§

impl Hash for u512

§

impl Hash for u1024

§

impl Hash for ucontext_t

§

impl Hash for ucred

§

impl Hash for uinput_abs_setup

§

impl Hash for uinput_ff_erase

§

impl Hash for uinput_ff_upload

§

impl Hash for uinput_setup

§

impl Hash for uinput_user_dev

§

impl Hash for user

§

impl Hash for user_fpregs_struct

§

impl Hash for user_regs_struct

§

impl Hash for utimbuf

§

impl Hash for utmpx

§

impl Hash for utsname

§

impl Hash for winsize

§

impl Hash for xdp_desc

§

impl Hash for xdp_mmap_offsets

§

impl Hash for xdp_mmap_offsets_v1

§

impl Hash for xdp_options

§

impl Hash for xdp_ring_offset

§

impl Hash for xdp_ring_offset_v1

§

impl Hash for xdp_statistics

§

impl Hash for xdp_statistics_v1

§

impl Hash for xdp_umem_reg

§

impl Hash for xdp_umem_reg_v1

§

impl Hash for xsk_tx_metadata_completion

§

impl Hash for xsk_tx_metadata_request

§

impl<'a> Hash for KeystoreSelector<'a>

1.0.0 · Source§

impl<'a> Hash for Component<'a>

1.0.0 · Source§

impl<'a> Hash for Prefix<'a>

Source§

impl<'a> Hash for PhantomContravariantLifetime<'a>

Source§

impl<'a> Hash for PhantomCovariantLifetime<'a>

Source§

impl<'a> Hash for PhantomInvariantLifetime<'a>

1.10.0 · Source§

impl<'a> Hash for Location<'a>

Source§

impl<'a> Hash for Metadata<'a>

Source§

impl<'a> Hash for MetadataBuilder<'a>

§

impl<'a> Hash for DnsName<'a>

§

impl<'a> Hash for NonBlocking<'a>

§

impl<'a> Hash for Oid<'a>

§

impl<'a> Hash for RelayIdRef<'a>

§

impl<'a> Hash for ServerName<'a>

§

impl<'a, M, T, O> Hash for PartialElement<'a, M, T, O>
where M: Mutability, T: 'a + BitStore, O: BitOrder,

Source§

impl<'k> Hash for log::kv::key::Key<'k>

§

impl<'k> Hash for KeyMut<'k>

Source§

impl<'r, R> Hash for UnwrapMut<'r, R>
where R: Hash + TryRngCore + ?Sized,

§

impl<'s> Hash for TomlKey<'s>

§

impl<'s> Hash for TomlString<'s>

§

impl<A> Hash for SmallVec<A>
where A: Array, <A as Array>::Item: Hash,

§

impl<A, B> Hash for Either<A, B>
where A: Hash, B: Hash,

§

impl<A, B> Hash for EitherOrBoth<A, B>
where A: Hash, B: Hash,

§

impl<A, O> Hash for BitArray<A, O>
where A: BitViewSized, O: BitOrder,

1.0.0 · Source§

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

1.55.0 · Source§

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

Source§

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

1.4.0 · Source§

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

1.0.0 · Source§

impl<Idx> Hash for core::ops::range::Range<Idx>
where Idx: Hash,

1.0.0 · Source§

impl<Idx> Hash for core::ops::range::RangeFrom<Idx>
where Idx: Hash,

1.26.0 · Source§

impl<Idx> Hash for core::ops::range::RangeInclusive<Idx>
where Idx: Hash,

1.0.0 · Source§

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

1.26.0 · Source§

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

Source§

impl<Idx> Hash for core::range::Range<Idx>
where Idx: Hash,

Source§

impl<Idx> Hash for core::range::RangeFrom<Idx>
where Idx: Hash,

Source§

impl<Idx> Hash for core::range::RangeInclusive<Idx>
where Idx: Hash,

§

impl<Inner> Hash for Frozen<Inner>
where Inner: Hash + Mutability,

§

impl<K, V> Hash for RangeMap<K, V>
where K: Hash, V: Hash,

§

impl<K, V> Hash for Slice<K, V>
where K: Hash, V: Hash,

§

impl<K, V> Hash for TiSlice<K, V>
where V: Hash,

§

impl<K, V> Hash for TiVec<K, V>
where V: Hash,

1.0.0 · Source§

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

§

impl<K, V, S> Hash for LiteMap<K, V, S>
where K: Hash + ?Sized, V: Hash + ?Sized, S: Hash,

§

impl<K, V, StepFnsT> Hash for RangeInclusiveMap<K, V, StepFnsT>
where K: Hash, V: Hash,

Source§

impl<L, R> Hash for either::Either<L, R>
where L: Hash, R: Hash,

§

impl<M, T> Hash for Address<M, T>
where M: Mutability, T: ?Sized,

§

impl<M, T, O> Hash for BitPtr<M, T, O>
where M: Mutability, T: BitStore, O: BitOrder,

§

impl<M, T, O> Hash for BitPtrRange<M, T, O>
where M: Mutability, T: BitStore, O: BitOrder,

§

impl<M, T, O> Hash for BitRef<'_, M, T, O>
where M: Mutability, T: BitStore, O: BitOrder,

§

impl<O> Hash for F32<O>
where O: Hash,

§

impl<O> Hash for F64<O>
where O: Hash,

§

impl<O> Hash for I16<O>
where O: Hash,

§

impl<O> Hash for I32<O>
where O: Hash,

§

impl<O> Hash for I64<O>
where O: Hash,

§

impl<O> Hash for I128<O>
where O: Hash,

§

impl<O> Hash for Isize<O>
where O: Hash,

§

impl<O> Hash for U16<O>
where O: Hash,

§

impl<O> Hash for U32<O>
where O: Hash,

§

impl<O> Hash for U64<O>
where O: Hash,

§

impl<O> Hash for U128<O>
where O: Hash,

§

impl<O> Hash for Usize<O>
where O: Hash,

1.41.0 · Source§

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

Source§

impl<R> Hash for UnwrapErr<R>
where R: Hash + TryRngCore,

§

impl<R> Hash for BitEnd<R>
where R: Hash + BitRegister,

§

impl<R> Hash for BitIdx<R>
where R: Hash + BitRegister,

§

impl<R> Hash for BitIdxError<R>
where R: Hash + BitRegister,

§

impl<R> Hash for BitMask<R>
where R: Hash + BitRegister,

§

impl<R> Hash for BitPos<R>
where R: Hash + BitRegister,

§

impl<R> Hash for BitSel<R>
where R: Hash + BitRegister,

Source§

impl<S> Hash for Host<S>
where S: Hash,

§

impl<S> Hash for Group<S>
where S: Hash,

§

impl<S> Hash for Passwd<S>
where S: Hash,

§

impl<Size> Hash for EncodedPoint<Size>
where Size: ModulusSize,

§

impl<Storage> Hash for __BindgenBitfieldUnit<Storage>
where Storage: Hash,

§

impl<Storage> Hash for __BindgenBitfieldUnit<Storage>
where Storage: Hash,

§

impl<Storage> Hash for __BindgenBitfieldUnit<Storage>
where Storage: Hash,

1.17.0 · Source§

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

1.0.0 · Source§

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

1.36.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

impl<T> Hash for &T
where T: Hash + ?Sized,

1.0.0 · Source§

impl<T> Hash for &mut T
where T: Hash + ?Sized,

1.0.0 · Source§

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

1.0.0 · Source§

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

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

1.19.0 · Source§

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

Source§

impl<T> Hash for PhantomContravariant<T>
where T: ?Sized,

Source§

impl<T> Hash for PhantomCovariant<T>
where T: ?Sized,

Source§

impl<T> Hash for PhantomInvariant<T>
where T: ?Sized,

1.20.0 · Source§

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

1.21.0 · Source§

impl<T> Hash for Discriminant<T>

1.28.0 · Source§

impl<T> Hash for NonZero<T>

1.74.0 · Source§

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

1.0.0 · Source§

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

1.25.0 · Source§

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

Source§

impl<T> Hash for Serde<T>
where T: Hash,

1.0.0 · Source§

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

§

impl<T> Hash for AllowStdIo<T>
where T: Hash,

§

impl<T> Hash for AssertAsync<T>
where T: Hash,

§

impl<T> Hash for BitPtrError<T>
where T: Hash + BitStore,

§

impl<T> Hash for BitSpanError<T>
where T: Hash + BitStore,

§

impl<T> Hash for BoundedVecDeque<T>
where T: Hash,

§

impl<T> Hash for BoxSensitive<T>
where T: Hash,

§

impl<T> Hash for ByAddress<T>
where T: Deref + ?Sized,

Raw pointer hashing

§

impl<T> Hash for ByThinAddress<T>
where T: Deref + ?Sized,

Raw pointer hashing

§

impl<T> Hash for CachePadded<T>
where T: Hash,

§

impl<T> Hash for ExplicitOrAuto<T>
where T: Hash + NotAutoValue,

§

impl<T> Hash for Formatted<T>
where T: Hash,

§

impl<T> Hash for IntegerDays<T>
where T: Hash,

§

impl<T> Hash for IntegerMilliseconds<T>
where T: Hash,

§

impl<T> Hash for IntegerMinutes<T>
where T: Hash,

§

impl<T> Hash for IntegerSeconds<T>
where T: Hash,

§

impl<T> Hash for MisalignError<T>
where T: Hash,

§

impl<T> Hash for NotNan<T>
where T: Float,

§

impl<T> Hash for OrderedFloat<T>
where T: Float,

§

impl<T> Hash for OverflowError<T>
where T: Hash,

§

impl<T> Hash for Percentage<T>
where T: Hash + Copy + Into<f64>,

§

impl<T> Hash for RangeSet<T>
where T: Hash,

§

impl<T> Hash for Redacted<T>
where T: Redactable + Hash,

§

impl<T> Hash for Sensitive<T>
where T: Hash,

§

impl<T> Hash for Slice<T>
where T: Hash,

§

impl<T> Hash for Spanned<T>
where T: Hash,

§

impl<T> Hash for TryWriteableInfallibleAsWriteable<T>
where T: Hash,

§

impl<T> Hash for Unalign<T>
where T: Unaligned + Hash,

§

impl<T> Hash for WriteableAsTryWriteableInfallible<T>
where T: Hash,

§

impl<T> Hash for __BindgenUnionField<T>

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<T, A> Hash for UniqueRc<T, A>
where T: Hash + ?Sized, A: Allocator,

Source§

impl<T, A> Hash for UniqueArc<T, A>
where T: Hash + ?Sized, A: Allocator,

1.0.0 · Source§

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

The hash of a vector is the same as that of the corresponding slice, as required by the core::borrow::Borrow implementation.

use std::hash::BuildHasher;

let b = std::hash::RandomState::new();
let v: Vec<u8> = vec![0xa8, 0x3c, 0x09];
let s: &[u8] = &[0xa8, 0x3c, 0x09];
assert_eq!(b.hash_one(v), b.hash_one(s));
1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

§

impl<T, N> Hash for GenericArray<T, N>
where T: Hash, N: ArrayLength<T>,

§

impl<T, O> Hash for BitBox<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, O> Hash for BitSlice<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, O> Hash for BitVec<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, StepFnsT> Hash for RangeInclusiveSet<T, StepFnsT>
where T: Hash, StepFnsT: Hash,

§

impl<T, U> Hash for Flatten<T, U>
where T: Hash, U: Hash,

Source§

impl<T, const CAP: usize> Hash for ArrayVec<T, CAP>
where T: Hash,

§

impl<T, const LEN: usize, const REVERSE_STR: bool> Hash for Array<T, LEN, REVERSE_STR>
where T: Hash,

1.0.0 · Source§

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

The hash of an array is the same as that of the corresponding slice, as required by the Borrow implementation.

use std::hash::BuildHasher;

let b = std::hash::RandomState::new();
let a: [u8; 3] = [0xa8, 0x3c, 0x09];
let s: &[u8] = &[0xa8, 0x3c, 0x09];
assert_eq!(b.hash_one(a), b.hash_one(s));
Source§

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

§

impl<T, const N: usize> Hash for FixedCapacityVec<T, N>
where T: Hash,

Source§

impl<U> Hash for NInt<U>
where U: Hash + Unsigned + NonZero,

Source§

impl<U> Hash for PInt<U>
where U: Hash + Unsigned + NonZero,

Source§

impl<U, B> Hash for UInt<U, B>
where U: Hash, B: Hash,

§

impl<U, const N: usize> Hash for NichedOption<U, N>
where U: Hash,

Source§

impl<V, A> Hash for TArr<V, A>
where V: Hash, A: Hash,

Source§

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

Source§

impl<const CAP: usize> Hash for ArrayString<CAP>

§

impl<const LOWER: i32, const UPPER: i32> Hash for BoundedInt32<LOWER, UPPER>

§

impl<const MIN: i8, const MAX: i8> Hash for OptionRangedI8<MIN, MAX>

§

impl<const MIN: i8, const MAX: i8> Hash for RangedI8<MIN, MAX>

§

impl<const MIN: i16, const MAX: i16> Hash for OptionRangedI16<MIN, MAX>

§

impl<const MIN: i16, const MAX: i16> Hash for RangedI16<MIN, MAX>

§

impl<const MIN: i32, const MAX: i32> Hash for OptionRangedI32<MIN, MAX>

§

impl<const MIN: i32, const MAX: i32> Hash for RangedI32<MIN, MAX>

§

impl<const MIN: i64, const MAX: i64> Hash for OptionRangedI64<MIN, MAX>

§

impl<const MIN: i64, const MAX: i64> Hash for RangedI64<MIN, MAX>

§

impl<const MIN: i128, const MAX: i128> Hash for OptionRangedI128<MIN, MAX>

§

impl<const MIN: i128, const MAX: i128> Hash for RangedI128<MIN, MAX>

§

impl<const MIN: isize, const MAX: isize> Hash for OptionRangedIsize<MIN, MAX>

§

impl<const MIN: isize, const MAX: isize> Hash for RangedIsize<MIN, MAX>

§

impl<const MIN: u8, const MAX: u8> Hash for OptionRangedU8<MIN, MAX>

§

impl<const MIN: u8, const MAX: u8> Hash for RangedU8<MIN, MAX>

§

impl<const MIN: u16, const MAX: u16> Hash for OptionRangedU16<MIN, MAX>

§

impl<const MIN: u16, const MAX: u16> Hash for RangedU16<MIN, MAX>

§

impl<const MIN: u32, const MAX: u32> Hash for OptionRangedU32<MIN, MAX>

§

impl<const MIN: u32, const MAX: u32> Hash for RangedU32<MIN, MAX>

§

impl<const MIN: u64, const MAX: u64> Hash for OptionRangedU64<MIN, MAX>

§

impl<const MIN: u64, const MAX: u64> Hash for RangedU64<MIN, MAX>

§

impl<const MIN: u128, const MAX: u128> Hash for OptionRangedU128<MIN, MAX>

§

impl<const MIN: u128, const MAX: u128> Hash for RangedU128<MIN, MAX>

§

impl<const MIN: usize, const MAX: usize> Hash for OptionRangedUsize<MIN, MAX>

§

impl<const MIN: usize, const MAX: usize> Hash for RangedUsize<MIN, MAX>

Source§

impl<const N: usize> Hash for ByteArray<N>

§

impl<const N: usize> Hash for CtByteArray<N>

§

impl<const N: usize> Hash for RawBytesULE<N>

§

impl<const N: usize> Hash for TinyAsciiStr<N>

§

impl<const N: usize> Hash for TinyAsciiStr<N>

§

impl<const SIZE: usize> Hash for WriteBuffer<SIZE>

impl Hash for DnsCacheKey

impl Hash for ObjectId

impl Hash for Utf8CString

impl Hash for RequestId

impl Hash for RawAddr

impl Hash for StrongIdx

impl Hash for TaggedAddr

impl Hash for WeakIdx

impl Hash for Choice

impl Hash for CacheUsage

impl Hash for DocType

impl Hash for DocId

impl Hash for TableIndex

impl Hash for HsDirIndex

impl Hash for Timestamp

impl Hash for FuncType

impl Hash for ObjectId

impl Hash for Ti