Trait tor_hsservice::internal_prelude::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());

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Hash for TrustedGroup

source§

impl Hash for TrustedUser

source§

impl Hash for BoolOrAuto

source§

impl Hash for PaddingLevel

source§

impl Hash for ConfigurationSource

source§

impl Hash for KeyPathPattern

source§

impl Hash for KeyType

source§

impl Hash for BadSlug

source§

impl Hash for Liveness

source§

impl Hash for SocksAuth

source§

impl Hash for KeyPath

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 num_bigint_dig::bigint::Sign

source§

impl Hash for num_bigint::bigint::Sign

source§

impl Hash for 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 DisfavouredKey

source§

impl Hash for Listen

source§

impl Hash for BridgeConfig

source§

impl Hash for ArtiPath

source§

impl Hash for CTorPath

source§

impl Hash for KeystoreId

source§

impl Hash for SlugRef

source§

impl Hash for ProtoKind

source§

impl Hash for Protocols

source§

impl Hash for TargetPort

source§

impl Hash for CoarseDuration

source§

impl Hash for CoarseInstant

source§

impl Hash for SendMeVersion

source§

impl Hash for IptLocalId

source§

impl Hash for IsCurrent

source§

impl Hash for HsNickname

source§

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 tor_hsservice::internal_prelude::curve25519::PublicKey

§

impl Hash for Ed25519Identity

§

impl Hash for VerifyingKey

1.0.0 · source§

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

1.1.0 · source§

impl Hash for FileType

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

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 num_bigint_dig::bigint::BigInt

source§

impl Hash for num_bigint_dig::biguint::BigUint

source§

impl Hash for num_bigint::bigint::BigInt

source§

impl Hash for num_bigint::biguint::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 Number

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.

1.3.0 · source§

impl Hash for tor_hsservice::internal_prelude::Duration

§

impl Hash for HsBlindId

§

impl Hash for HsId

1.8.0 · source§

impl Hash for tor_hsservice::internal_prelude::Instant

source§

impl Hash for KeyPathRange

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

source§

impl Hash for Slug

1.8.0 · source§

impl Hash for SystemTime

§

impl Hash for ASN1Time

§

impl Hash for Access

§

impl Hash for Access

§

impl Hash for Action

§

impl Hash for AddressFamily

§

impl Hash for AddressSize

§

impl Hash for Algorithm

§

impl Hash for AlgorithmName

§

impl Hash for Architecture

§

impl Hash for ArchiveKind

§

impl Hash for AsciiChar

§

impl Hash for AsciiStr

§

impl Hash for AsciiString

§

impl Hash for AtFlags

§

impl Hash for AtFlags

§

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 BigEndian

§

impl Hash for BigEndian

§

impl Hash for BigEndian

§

impl Hash for BinaryFormat

§

impl Hash for Blocking

§

impl Hash for Blocking

§

impl Hash for BridgeAddr

§

impl Hash for Bytes

§

impl Hash for Bytes

§

impl Hash for BytesMut

§

impl Hash for ChannelMethod

§

impl Hash for Cipher

§

impl Hash for CircId

§

impl Hash for ClockId

§

impl Hash for ComdatKind

§

impl Hash for ComponentRange

§

impl Hash for CompressedEdwardsY

§

impl Hash for CompressedFileRange

§

impl Hash for CompressedRistretto

§

impl Hash for CompressionFormat

§

impl Hash for CompressionLevel

§

impl Hash for CompressionStrategy

§

impl Hash for ConsensusFlavor

§

impl Hash for Const

§

impl Hash for ControlModes

§

impl Hash for CpuSet

§

impl Hash for Cpuid

§

impl Hash for CreateFlags

§

impl Hash for CreateFlags

§

impl Hash for CreateFlags

§

impl Hash for CreateFlags

§

impl Hash for DataFormat

§

impl Hash for Date

§

impl Hash for DebugTypeSignature

§

impl Hash for Decor

§

impl Hash for Direction

§

impl Hash for DivError

§

impl Hash for Dl_info

§

impl Hash for DosParams

§

impl Hash for DsaPublicKey

§

impl Hash for DupFlags

§

impl Hash for DupFlags

§

impl Hash for Duration

§

impl Hash for Duration

§

impl Hash for Duration

§

impl Hash for DwAccess

§

impl Hash for DwAddr

§

impl Hash for DwAt

§

impl Hash for DwAte

§

impl Hash for DwCc

§

impl Hash for DwCfa

§

impl Hash for DwChildren

§

impl Hash for DwDefaulted

§

impl Hash for DwDs

§

impl Hash for DwDsc

§

impl Hash for DwEhPe

§

impl Hash for DwEnd

§

impl Hash for DwForm

§

impl Hash for DwId

§

impl Hash for DwIdx

§

impl Hash for DwInl

§

impl Hash for DwLang

§

impl Hash for DwLle

§

impl Hash for DwLnct

§

impl Hash for DwLne

§

impl Hash for DwLns

§

impl Hash for DwMacro

§

impl Hash for DwOp

§

impl Hash for DwOrd

§

impl Hash for DwRle

§

impl Hash for DwSect

§

impl Hash for DwSectV2

§

impl Hash for DwTag

§

impl Hash for DwUt

§

impl Hash for DwVirtuality

§

impl Hash for DwVis

§

impl Hash for DwoId

§

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 Encoding

§

impl Hash for Endianness

§

impl Hash for Errno

§

impl Hash for Errno

§

impl Hash for Error

§

impl Hash for Error

§

impl Hash for ErrorKind

§

impl Hash for Event

§

impl Hash for EventData

§

impl Hash for EventFlags

§

impl Hash for EventFlags

§

impl Hash for EventfdFlags

§

impl Hash for EventfdFlags

§

impl Hash for FallocateFlags

§

impl Hash for FallocateFlags

§

impl Hash for FdFlags

§

impl Hash for FdFlags

§

impl Hash for Field

§

impl Hash for FileFlags

§

impl Hash for FileKind

§

impl Hash for FileTime

§

impl Hash for FloatingPointEmulationControl

§

impl Hash for FloatingPointExceptionMode

§

impl Hash for Format

§

impl Hash for Gid

§

impl Hash for HalfMatch

§

impl Hash for Handle

§

impl Hash for HashAlg

§

impl Hash for HeaderName

§

impl Hash for HeaderValue

§

impl Hash for HttpDate

§

impl Hash for Id

§

impl Hash for Identifier

§

impl Hash for ImportType

§

impl Hash for InputModes

§

impl Hash for Instant

§

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 KdfAlg

§

impl Hash for Key

§

impl Hash for KeyData

§

impl Hash for LazyStateID

§

impl Hash for Level

§

impl Hash for LevelFilter

§

impl Hash for LineEncoding

§

impl Hash for LittleEndian

§

impl Hash for LittleEndian

§

impl Hash for LittleEndian

§

impl Hash for LocalModes

§

impl Hash for Lsb0

§

impl Hash for MZError

§

impl Hash for MZFlush

§

impl Hash for MZStatus

§

impl Hash for Match

§

impl Hash for Match

§

impl Hash for MembarrierQuery

§

impl Hash for MemfdFlags

§

impl Hash for MemfdFlags

§

impl Hash for Method

§

impl Hash for Mode

§

impl Hash for Mode

§

impl Hash for MontgomeryPoint

§

impl Hash for Month

§

impl Hash for MountFlags

§

impl Hash for MountFlags

§

impl Hash for MountPropagationFlags

§

impl Hash for MountPropagationFlags

§

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 OFlags

§

impl Hash for ObjectIdentifier

§

impl Hash for ObjectKind

§

impl Hash for OffsetDateTime

§

impl Hash for OpaquePublicKey

§

impl Hash for OpaquePublicKeyBytes

§

impl Hash for Opcode

§

impl Hash for OptionalActions

§

impl Hash for OutputModes

§

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 PatternID

§

impl Hash for Pid

§

impl Hash for PidfdFlags

§

impl Hash for PidfdGetfdFlags

§

impl Hash for PipeFlags

§

impl Hash for PipeFlags

§

impl Hash for PollFlags

§

impl Hash for PollFlags

§

impl Hash for PollMode

§

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 Profile

§

impl Hash for Protocol

§

impl Hash for PtTarget

§

impl Hash for PtTargetAddr

§

impl Hash for PtTargetSettings

§

impl Hash for PtTransportName

§

impl Hash for PublicKey

§

impl Hash for PwdGrp

§

impl Hash for QueueSelector

§

impl Hash for Range

§

impl Hash for RawString

§

impl Hash for ReadWriteFlags

§

impl Hash for ReadWriteFlags

§

impl Hash for RealEffectiveSavedIds

§

impl Hash for RecvFlags

§

impl Hash for Register

§

impl Hash for RelayFamily

§

impl Hash for RelayId

§

impl Hash for RelayIdType

§

impl Hash for RelocationEncoding

§

impl Hash for RelocationKind

§

impl Hash for RelocationTarget

§

impl Hash for RenameFlags

§

impl Hash for RenameFlags

§

impl Hash for Repr

§

impl Hash for ResolveFlags

§

impl Hash for ResolveFlags

§

impl Hash for Restrictions

§

impl Hash for RsaIdentity

§

impl Hash for RsaPrivateKey

§

impl Hash for RsaPublicKey

§

impl Hash for RsaPublicKey

§

impl Hash for RunTimeEndian

§

impl Hash for Scalar

§

impl Hash for Scheme

Case-insensitive hashing

§

impl Hash for SealFlags

§

impl Hash for SealFlags

§

impl Hash for SectionFlags

§

impl Hash for SectionId

§

impl Hash for SectionIndex

§

impl Hash for SectionKind

§

impl Hash for SegmentFlags

§

impl Hash for SendFlags

§

impl Hash for Shutdown

§

impl Hash for SigId

§

impl Hash for Signal

§

impl Hash for SignalKind

§

impl Hash for SignatureScheme

§

impl Hash for SkEcdsaSha2NistP256

§

impl Hash for SkEd25519

§

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 Span

§

impl Hash for Span

§

impl Hash for Span

§

impl Hash for SpeculationFeatureControl

§

impl Hash for SpeculationFeatureState

§

impl Hash for SpliceFlags

§

impl Hash for SpliceFlags

§

impl Hash for StatVfsMountFlags

§

impl Hash for StatVfsMountFlags

§

impl Hash for StateID

§

impl Hash for StateID

§

impl Hash for StatusCode

§

impl Hash for StatxFlags

§

impl Hash for StatxFlags

§

impl Hash for StreamId

§

impl Hash for StreamResult

§

impl Hash for SubArchitecture

§

impl Hash for SymbolIndex

§

impl Hash for SymbolKind

§

impl Hash for SymbolScope

§

impl Hash for SymbolSection

§

impl Hash for TDEFLFlush

§

impl Hash for TDEFLStatus

§

impl Hash for TINFLStatus

§

impl Hash for Tag

§

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 Token

§

impl Hash for TomlError

§

impl Hash for TooLargeBufferRequiredError

§

impl Hash for TorVersion

§

impl Hash for Transition

§

impl Hash for TransportId

§

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 UnexpectedNullPointerError

§

impl Hash for UniqId

§

impl Hash for UniqId

§

impl Hash for UnmountFlags

§

impl Hash for UnmountFlags

§

impl Hash for Uri

§

impl Hash for UtcOffset

§

impl Hash for Version

§

impl Hash for WaitOptions

§

impl Hash for WaitidOptions

§

impl Hash for WatchFlags

§

impl Hash for WatchFlags

§

impl Hash for Weekday

§

impl Hash for XattrFlags

§

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_ResetDirective

§

impl Hash for ZSTD_cParameter

§

impl Hash for ZSTD_dParameter

§

impl Hash for ZSTD_strategy

§

impl Hash for __c_anonymous_ifru_map

§

impl Hash for __c_anonymous_ptrace_syscall_info_data

Available on crate feature extra_traits and libc_union only.
§

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_1

§

impl Hash for _bindgen_ty_2

§

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_3

§

impl Hash for _bindgen_ty_4

§

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_5

§

impl Hash for _bindgen_ty_6

§

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_7

§

impl Hash for _bindgen_ty_8

§

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_9

§

impl Hash for _bindgen_ty_10

§

impl Hash for _bindgen_ty_10

§

impl Hash for _bindgen_ty_11

§

impl Hash for _bindgen_ty_11

§

impl Hash for _bindgen_ty_12

§

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

Available on crate feature extra_traits only.
§

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

Available on crate feature extra_traits only.
§

impl Hash for dirent64

Available on crate feature extra_traits only.
§

impl Hash for dl_phdr_info

§

impl Hash for dqblk

§

impl Hash for epoll_event

Available on crate feature extra_traits only.
§

impl Hash for fanotify_event_metadata

§

impl Hash for fanotify_response

§

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 fsconfig_command

§

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

Available on crate feature extra_traits only.
§

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 io_uring_op

§

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

§

impl Hash for membarrier_cmd

§

impl Hash for membarrier_cmd

§

impl Hash for membarrier_cmd_flag

§

impl Hash for membarrier_cmd_flag

§

impl Hash for mmsghdr

§

impl Hash for mntent

§

impl Hash for mq_attr

Available on crate feature extra_traits only.
§

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

Available on crate feature extra_traits only.
§

impl Hash for pthread_barrierattr_t

§

impl Hash for pthread_cond_t

Available on crate feature extra_traits only.
§

impl Hash for pthread_condattr_t

§

impl Hash for pthread_mutex_t

Available on crate feature extra_traits only.
§

impl Hash for pthread_mutexattr_t

§

impl Hash for pthread_rwlock_t

Available on crate feature extra_traits only.
§

impl Hash for pthread_rwlockattr_t

§

impl Hash for ptrace_peeksiginfo_args

§

impl Hash for ptrace_rseq_configuration

§

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

Available on crate feature extra_traits only.
§

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

Available on crate feature extra_traits only.
§

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

Available on crate feature extra_traits only.
§

impl Hash for sockaddr_in

§

impl Hash for sockaddr_in6

§

impl Hash for sockaddr_ll

§

impl Hash for sockaddr_nl

Available on crate feature extra_traits only.
§

impl Hash for sockaddr_storage

Available on crate feature extra_traits only.
§

impl Hash for sockaddr_un

Available on crate feature extra_traits only.
§

impl Hash for sockaddr_vm

§

impl Hash for sockaddr_xdp

§

impl Hash for socket_state

§

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_ca_state

§

impl Hash for tcp_fastopen_client_fail

§

impl Hash for tcp_fastopen_client_fail

§

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_gcm_128

§

impl Hash for tls12_crypto_info_aes_gcm_256

§

impl Hash for tls12_crypto_info_chacha20_poly1305

§

impl Hash for tls_crypto_info

§

impl Hash for tm

§

impl Hash for tms

§

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

Available on crate feature extra_traits only.
§

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

Available on crate feature extra_traits only.
§

impl Hash for uinput_user_dev

Available on crate feature extra_traits only.
§

impl Hash for user

§

impl Hash for user_fpregs_struct

Available on crate feature extra_traits only.
§

impl Hash for user_regs_struct

§

impl Hash for utimbuf

§

impl Hash for utmpx

Available on crate feature extra_traits only.
§

impl Hash for utsname

Available on crate feature extra_traits only.
§

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

source§

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>

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 NonBlocking<'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,

Available on non-tarpaulin_include only.
§

impl<'data> Hash for CompressedData<'data>

§

impl<'data> Hash for ObjectMapEntry<'data>

§

impl<'data> Hash for SymbolMapName<'data>

§

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

source§

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

§

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

§

impl<'s, T> Hash for SliceVec<'s, T>
where T: Hash,

§

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

§

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

§

impl<A> Hash for TinyVec<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,

Available on non-tarpaulin_include only.
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,

§

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

§

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

§

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

§

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

§

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

§

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

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 RangeFrom<Idx>
where Idx: Hash,

1.26.0 · source§

impl<Idx> Hash for 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,

§

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

Available on non-tarpaulin_include only.
§

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

Available on non-tarpaulin_include only.
§

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

Available on non-tarpaulin_include only.
1.41.0 · source§

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

§

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,

§

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

§

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

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<Section, Symbol> Hash for SymbolFlags<Section, Symbol>
where Section: Hash, Symbol: 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.

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

1.19.0 · source§

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

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 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 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 DebugAbbrevOffset<T>
where T: Hash,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Hash for LocationListsOffset<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 RangeListsOffset<T>
where T: Hash,

§

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

§

impl<T> Hash for RawRangeListsOffset<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 Unalign<T>
where T: Unaligned + Hash,

§

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

§

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

§

impl<T> Hash for __BindgenUnionField<T>

§

impl<T> Hash for __BindgenUnionField<T>

1.0.0 · source§

impl<T, A> Hash for alloc::boxed::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,

1.0.0 · source§

impl<T, A> Hash for alloc::vec::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,

§

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

§

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.

#![feature(build_hasher_simple_hash_one)]
use std::hash::BuildHasher;

let b = std::collections::hash_map::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, 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,

Available on non-tarpaulin_include only.
§

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

Available on non-tarpaulin_include only.
§

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

Available on non-tarpaulin_include only.
§

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

source§

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

source§

impl<T, const CAP: usize> Hash for arrayvec::arrayvec::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>

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,

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>

source§

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 TinyAsciiStr<N>

§

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