devela::_dep::_std::hash

Trait Hash

1.0.0 · Source
pub 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 { ... }
}
Available on crate feature std only.
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§

Source§

impl Hash for devela::_core::ascii::Char

1.7.0 · Source§

impl Hash for IpAddr

Source§

impl Hash for Ipv6MulticastScope

1.0.0 · Source§

impl Hash for SocketAddr

Source§

impl Hash for ExampleEnumIntU8

Available on doc only.
Source§

impl Hash for AngleDirection

Available on crate feature geom only.
Source§

impl Hash for AngleKind

Available on crate feature geom only.
Source§

impl Hash for AudioError

Available on crate feature audio only.
Source§

impl Hash for CompressionMode

Source§

impl Hash for DrawError

Available on crate feature draw only.
Source§

impl Hash for EncodingMode

Source§

impl Hash for FontError

Available on crate feature font only.
1.0.0 · Source§

impl Hash for devela::all::IoErrorKind

Source§

impl Hash for MidiError

Available on crate feature midi only.
Source§

impl Hash for NotAvailable

Source§

impl Hash for WaveletUnitRole

Available on crate feature wave only.
1.44.0 · Source§

impl Hash for Infallible

Source§

impl Hash for DataNotEnough

Source§

impl Hash for MismatchedBounds

Source§

impl Hash for PartialSpace

Source§

impl Hash for NumError

1.0.0 · Source§

impl Hash for devela::num::Ordering

Source§

impl Hash for Sign

Source§

impl Hash for Month

Source§

impl Hash for devela::text::AsciiChar

Source§

impl Hash for InvalidText

Source§

impl Hash for LayoutError

Available on crate feature layout only.
1.0.0 · Source§

impl Hash for devela::work::AtomicOrdering

§

impl Hash for CheckedCastError

§

impl Hash for PodCastError

§

impl Hash for devela::_dep::crossterm::event::Event

§

impl Hash for devela::_dep::crossterm::event::KeyCode

§

impl Hash for KeyEventKind

§

impl Hash for MediaKeyCode

§

impl Hash for ModifierKeyCode

§

impl Hash for devela::_dep::crossterm::event::MouseButton

§

impl Hash for MouseEventKind

§

impl Hash for Attribute

§

impl Hash for Color

§

impl Hash for Colored

§

impl Hash for ClearType

§

impl Hash for Era

§

impl Hash for Weekday

§

impl Hash for RoundMode

§

impl Hash for Unit

§

impl Hash for Meridiem

§

impl Hash for PiecesOffset

§

impl Hash for Dst

§

impl Hash for EqFilterKind

§

impl Hash for WhenToStart

§

impl Hash for PlaybackState

§

impl Hash for TrackPlaybackState

Source§

impl Hash for devela::_dep::log::Level

Source§

impl Hash for devela::_dep::log::LevelFilter

§

impl Hash for CursorIcon

§

impl Hash for FilterMode

§

impl Hash for devela::_dep::miniquad::KeyCode

§

impl Hash for MipmapFilterMode

§

impl Hash for devela::_dep::miniquad::MouseButton

§

impl Hash for RawId

§

impl Hash for TextureFormat

§

impl Hash for TouchPhase

§

impl Hash for Panic

§

impl Hash for ArchivedIpAddr

§

impl Hash for ArchivedSocketAddr

§

impl Hash for HostId

§

impl Hash for IoringMsgringCmds

§

impl Hash for IoringOp

§

impl Hash for IoringRegisterOp

§

impl Hash for IoringRestrictionOp

§

impl Hash for Direction

§

impl Hash for Shutdown

§

impl Hash for SocketAddrAny

§

impl Hash for Timeout

§

impl Hash for Action

§

impl Hash for OptionalActions

§

impl Hash for QueueSelector

§

impl Hash for devela::_dep::rustix::thread::ClockId

§

impl Hash for TimerfdClockId

§

impl Hash for StandardTagKey

§

impl Hash for StandardVisualKey

§

impl Hash for devela::_dep::winnow::error::ErrorKind

Source§

impl Hash for EulerRot

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

1.0.0 · Source§

impl Hash for Ipv4Addr

1.0.0 · Source§

impl Hash for Ipv6Addr

1.0.0 · Source§

impl Hash for SocketAddrV4

1.0.0 · Source§

impl Hash for SocketAddrV6

Source§

impl Hash for Alignment

Source§

impl Hash for ExampleBitfield

Available on crate feature _bit_u8 and doc only.
Source§

impl Hash for ExampleBitfieldCustom

Available on crate feature _bit_u8 and doc only.
Source§

impl Hash for ExampleBitfieldExtra

Available on crate feature _bit_u8 and doc only.
Source§

impl Hash for ExampleEnumSet

Available on doc only.
Source§

impl Hash for ExampleIdSeqUsize

Available on doc only.
Source§

impl Hash for FailedErrorConversion

Source§

impl Hash for False

1.0.0 · Source§

impl Hash for Error

1.28.0 · Source§

impl Hash for Layout

Source§

impl Hash for NotImplemented

Source§

impl Hash for NotSupported

1.0.0 · Source§

impl Hash for Path

1.0.0 · Source§

impl Hash for PathBuf

1.0.0 · Source§

impl Hash for PrefixComponent<'_>

1.33.0 · Source§

impl Hash for PhantomPinned

1.0.0 · Source§

impl Hash for RangeFull

1.0.0 · Source§

impl Hash for devela::all::String

Source§

impl Hash for True

1.0.0 · Source§

impl Hash for TypeId

Source§

impl Hash for DataOverflow

Source§

impl Hash for ElementNotFound

Source§

impl Hash for IdPinBox

Source§

impl Hash for IndexOutOfBounds

Source§

impl Hash for InvalidAxisLength

Source§

impl Hash for KeyAlreadyExists

Source§

impl Hash for MismatchedCapacity

Source§

impl Hash for MismatchedDimensions

Source§

impl Hash for MismatchedIndices

Source§

impl Hash for NodeEmpty

Source§

impl Hash for NodeLinkNotSet

Source§

impl Hash for NodeLinkNotUnique

Source§

impl Hash for NotEnoughElements

Source§

impl Hash for NotEnoughSpace

Source§

impl Hash for PartiallyAdded

1.64.0 · Source§

impl Hash for CStr

1.64.0 · Source§

impl Hash for CString

1.0.0 · Source§

impl Hash for OsStr

1.0.0 · Source§

impl Hash for OsString

Source§

impl Hash for Divisor<i8>

Source§

impl Hash for Divisor<i16>

Source§

impl Hash for Divisor<i32>

Source§

impl Hash for Divisor<i64>

Source§

impl Hash for Divisor<i128>

Source§

impl Hash for Divisor<isize>

Source§

impl Hash for Divisor<u8>

Source§

impl Hash for Divisor<u16>

Source§

impl Hash for Divisor<u32>

Source§

impl Hash for Divisor<u64>

Source§

impl Hash for Divisor<u128>

Source§

impl Hash for Divisor<usize>

1.3.0 · Source§

impl Hash for Duration

1.8.0 · Source§

impl Hash for Instant

1.8.0 · Source§

impl Hash for SystemTime

Source§

impl Hash for SystemTimeError

Source§

impl Hash for GraphemeString

Source§

impl Hash for InvalidChar

Source§

impl Hash for InvalidUtf8

Source§

impl Hash for char7

Source§

impl Hash for char8

Source§

impl Hash for char16

1.19.0 · Source§

impl Hash for ThreadId

§

impl Hash for KeyEvent

§

impl Hash for KeyEventState

§

impl Hash for KeyModifiers

§

impl Hash for KeyboardEnhancementFlags

§

impl Hash for MouseEvent

§

impl Hash for Date

§

impl Hash for DateTime

§

impl Hash for ISOWeekDate

§

impl Hash for Time

§

impl Hash for PiecesNumericOffset

§

impl Hash for SignedDuration

§

impl Hash for Timestamp

§

impl Hash for Zoned

§

impl Hash for Offset

§

impl Hash for MockBackendSettings

§

impl Hash for devela::_dep::kira::clock::ClockId

§

impl Hash for ListenerId

§

impl Hash for ModulatorId

§

impl Hash for Capacities

§

impl Hash for ResourceLimitReached

§

impl Hash for SendTrackId

§

impl Hash for BufferId

§

impl Hash for Pipeline

§

impl Hash for ShaderId

§

impl Hash for TextureId

§

impl Hash for PyBackedBytes

§

impl Hash for PyBackedStr

§

impl Hash for Failure

§

impl Hash for ArchivedCString

§

impl Hash for ArchivedIpv4Addr

§

impl Hash for ArchivedIpv6Addr

§

impl Hash for ArchivedSocketAddrV4

§

impl Hash for ArchivedSocketAddrV6

§

impl Hash for ArchivedOptionNonZeroI8

§

impl Hash for ArchivedOptionNonZeroI16

§

impl Hash for ArchivedOptionNonZeroI32

§

impl Hash for ArchivedOptionNonZeroI64

§

impl Hash for ArchivedOptionNonZeroI128

§

impl Hash for ArchivedOptionNonZeroU8

§

impl Hash for ArchivedOptionNonZeroU16

§

impl Hash for ArchivedOptionNonZeroU32

§

impl Hash for ArchivedOptionNonZeroU64

§

impl Hash for ArchivedOptionNonZeroU128

§

impl Hash for ArchivedRangeFull

§

impl Hash for NonZeroI16_be

§

impl Hash for NonZeroI16_le

§

impl Hash for NonZeroI32_be

§

impl Hash for NonZeroI32_le

§

impl Hash for NonZeroI64_be

§

impl Hash for NonZeroI64_le

§

impl Hash for NonZeroI128_be

§

impl Hash for NonZeroI128_le

§

impl Hash for NonZeroU16_be

§

impl Hash for NonZeroU16_le

§

impl Hash for NonZeroU32_be

§

impl Hash for NonZeroU32_le

§

impl Hash for NonZeroU64_be

§

impl Hash for NonZeroU64_le

§

impl Hash for NonZeroU128_be

§

impl Hash for NonZeroU128_le

§

impl Hash for char_be

§

impl Hash for char_le

§

impl Hash for i16_be

§

impl Hash for i16_le

§

impl Hash for i32_be

§

impl Hash for i32_le

§

impl Hash for i64_be

§

impl Hash for i64_le

§

impl Hash for i128_be

§

impl Hash for i128_le

§

impl Hash for u16_be

§

impl Hash for u16_le

§

impl Hash for u32_be

§

impl Hash for u32_le

§

impl Hash for u64_be

§

impl Hash for u64_le

§

impl Hash for u128_be

§

impl Hash for u128_le

§

impl Hash for NonZeroI16_ube

§

impl Hash for NonZeroI16_ule

§

impl Hash for NonZeroI32_ube

§

impl Hash for NonZeroI32_ule

§

impl Hash for NonZeroI64_ube

§

impl Hash for NonZeroI64_ule

§

impl Hash for NonZeroI128_ube

§

impl Hash for NonZeroI128_ule

§

impl Hash for NonZeroU16_ube

§

impl Hash for NonZeroU16_ule

§

impl Hash for NonZeroU32_ube

§

impl Hash for NonZeroU32_ule

§

impl Hash for NonZeroU64_ube

§

impl Hash for NonZeroU64_ule

§

impl Hash for NonZeroU128_ube

§

impl Hash for NonZeroU128_ule

§

impl Hash for char_ube

§

impl Hash for char_ule

§

impl Hash for i16_ube

§

impl Hash for i16_ule

§

impl Hash for i32_ube

§

impl Hash for i32_ule

§

impl Hash for i64_ube

§

impl Hash for i64_ule

§

impl Hash for i128_ube

§

impl Hash for i128_ule

§

impl Hash for u16_ube

§

impl Hash for u16_ule

§

impl Hash for u32_ube

§

impl Hash for u32_ule

§

impl Hash for u64_ube

§

impl Hash for u64_ule

§

impl Hash for u128_ube

§

impl Hash for u128_ule

§

impl Hash for ArchivedString

§

impl Hash for ArchivedDuration

§

impl Hash for InputStreamTimestamp

§

impl Hash for OutputStreamTimestamp

§

impl Hash for StreamInstant

§

impl Hash for devela::_dep::rustix::event::epoll::CreateFlags

§

impl Hash for EventfdFlags

§

impl Hash for PollFlags

§

impl Hash for devela::_dep::rustix::fs::inotify::CreateFlags

§

impl Hash for ReadFlags

§

impl Hash for WatchFlags

§

impl Hash for devela::_dep::rustix::fs::Access

§

impl Hash for AtFlags

§

impl Hash for FallocateFlags

§

impl Hash for FdFlags

§

impl Hash for devela::_dep::rustix::fs::Gid

§

impl Hash for MemfdFlags

§

impl Hash for Mode

§

impl Hash for MountFlags

§

impl Hash for MountPropagationFlags

§

impl Hash for OFlags

§

impl Hash for RenameFlags

§

impl Hash for ResolveFlags

§

impl Hash for SealFlags

§

impl Hash for StatVfsMountFlags

§

impl Hash for StatxFlags

§

impl Hash for devela::_dep::rustix::fs::Uid

§

impl Hash for UnmountFlags

§

impl Hash for XattrFlags

§

impl Hash for DupFlags

§

impl Hash for Errno

§

impl Hash for ReadWriteFlags

§

impl Hash for devela::_dep::rustix::io_uring::EpollEvent

§

impl Hash for EventFlags

§

impl Hash for IoringAcceptFlags

§

impl Hash for IoringAsyncCancelFlags

§

impl Hash for IoringCqFlags

§

impl Hash for IoringCqeFlags

§

impl Hash for IoringEnterFlags

§

impl Hash for IoringFeatureFlags

§

impl Hash for IoringFsyncFlags

§

impl Hash for IoringMsgringFlags

§

impl Hash for IoringOpFlags

§

impl Hash for IoringPollFlags

§

impl Hash for IoringRecvFlags

§

impl Hash for IoringRegisterFlags

§

impl Hash for IoringRsrcFlags

§

impl Hash for IoringSendFlags

§

impl Hash for IoringSetupFlags

§

impl Hash for IoringSqFlags

§

impl Hash for IoringSqeFlags

§

impl Hash for IoringTimeoutFlags

§

impl Hash for RecvFlags

§

impl Hash for RecvmsgOutFlags

§

impl Hash for SendFlags

§

impl Hash for SocketFlags

§

impl Hash for devela::_dep::rustix::io_uring::SpliceFlags

§

impl Hash for Opcode

§

impl Hash for MapFlags

§

impl Hash for MlockAllFlags

§

impl Hash for MlockFlags

§

impl Hash for MprotectFlags

§

impl Hash for MremapFlags

§

impl Hash for MsyncFlags

§

impl Hash for ProtFlags

§

impl Hash for UserfaultfdFlags

§

impl Hash for FsMountFlags

§

impl Hash for FsOpenFlags

§

impl Hash for FsPickFlags

§

impl Hash for MountAttrFlags

§

impl Hash for MoveMountFlags

§

impl Hash for OpenTreeFlags

§

impl Hash for AddressFamily

§

impl Hash for Protocol

§

impl Hash for SocketAddrUnix

§

impl Hash for SocketType

§

impl Hash for devela::_dep::rustix::net::UCred

§

impl Hash for SockaddrXdpFlags

§

impl Hash for SocketAddrXdp

§

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 PipeFlags

§

impl Hash for devela::_dep::rustix::pipe::SpliceFlags

§

impl Hash for CpuSet

§

impl Hash for Cpuid

§

impl Hash for FloatingPointEmulationControl

§

impl Hash for FloatingPointExceptionMode

§

impl Hash for MembarrierQuery

§

impl Hash for devela::_dep::rustix::process::Pid

§

impl Hash for PidfdFlags

§

impl Hash for PidfdGetfdFlags

§

impl Hash for SpeculationFeatureControl

§

impl Hash for SpeculationFeatureState

§

impl Hash for UnalignedAccessControl

§

impl Hash for WaitOptions

§

impl Hash for WaitidOptions

§

impl Hash for OpenptFlags

§

impl Hash for GetRandomFlags

§

impl Hash for ShmOFlags

§

impl Hash for ControlModes

§

impl Hash for InputModes

§

impl Hash for LocalModes

§

impl Hash for OutputModes

§

impl Hash for SpecialCodeIndex

§

impl Hash for CapabilitiesSecureBits

§

impl Hash for CapabilityFlags

§

impl Hash for devela::_dep::rustix::thread::FutexFlags

§

impl Hash for TaggedAddressMode

§

impl Hash for ThreadNameSpaceType

§

impl Hash for UnshareFlags

§

impl Hash for TimerfdFlags

§

impl Hash for TimerfdTimerFlags

§

impl Hash for Channels

§

impl Hash for CodecType

§

impl Hash for devela::_dep::sysinfo::Gid

§

impl Hash for IpNetwork

§

impl Hash for devela::_dep::sysinfo::Pid

§

impl Hash for devela::_dep::sysinfo::Uid

§

impl Hash for Identifier

§

impl Hash for Field

§

impl Hash for devela::_dep::tracing::level_filters::LevelFilter

§

impl Hash for Id

§

impl Hash for devela::_dep::tracing::Level

§

impl Hash for Span

§

impl Hash for BStr

§

impl Hash for devela::_dep::winnow::Bytes

1.1.0 · Source§

impl Hash for FileType

Source§

impl Hash for devela::_dep::_std::os::unix::net::UCred

Source§

impl Hash for BVec2

Source§

impl Hash for BVec3

Source§

impl Hash for BVec4

Source§

impl Hash for BVec3A

Source§

impl Hash for BVec4A

Source§

impl Hash for I8Vec2

Source§

impl Hash for I8Vec3

Source§

impl Hash for I8Vec4

Source§

impl Hash for I16Vec2

Source§

impl Hash for I16Vec3

Source§

impl Hash for I16Vec4

Source§

impl Hash for IVec2

Source§

impl Hash for IVec3

Source§

impl Hash for IVec4

Source§

impl Hash for I64Vec2

Source§

impl Hash for I64Vec3

Source§

impl Hash for I64Vec4

Source§

impl Hash for U8Vec2

Source§

impl Hash for U8Vec3

Source§

impl Hash for U8Vec4

Source§

impl Hash for U16Vec2

Source§

impl Hash for U16Vec3

Source§

impl Hash for U16Vec4

Source§

impl Hash for UVec2

Source§

impl Hash for UVec3

Source§

impl Hash for UVec4

Source§

impl Hash for U64Vec2

Source§

impl Hash for U64Vec3

Source§

impl Hash for U64Vec4

§

impl Hash for EventData

§

impl Hash for Access

§

impl Hash for Addr

§

impl Hash for ArenaFull

§

impl Hash for AudioTstampType

§

impl Hash for Bytes

§

impl Hash for BytesMut

§

impl Hash for ChmapPosition

§

impl Hash for ChmapType

§

impl Hash for Connect

§

impl Hash for ElemIface

§

impl Hash for ElemType

§

impl Hash for Encoding

§

impl Hash for EvCtrl

§

impl Hash for EvNote

§

impl Hash for EvResult

§

impl Hash for EventType

§

impl Hash for ExtraXYZ

§

impl Hash for ExtraZXZ

§

impl Hash for ExtraZYX

§

impl Hash for Flags

§

impl Hash for Format

§

impl Hash for InsertWithKeyError

§

impl Hash for IntraXYZ

§

impl Hash for IntraZXZ

§

impl Hash for IntraZYX

§

impl Hash for Key

§

impl Hash for MilliBel

§

impl Hash for PortCap

§

impl Hash for PortType

§

impl Hash for Remove

§

impl Hash for SelemChannelId

§

impl Hash for SigId

§

impl Hash for State

§

impl Hash for Token

§

impl Hash for TstampType

§

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

§

impl Hash for fsconfig_command

§

impl Hash for ifla_geneve_df

§

impl Hash for ifla_gtp_role

§

impl Hash for ifla_vxlan_df

§

impl Hash for in6_addr_gen_mode

§

impl Hash for io_uring_op

§

impl Hash for ipvlan_mode

§

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 membarrier_cmd

§

impl Hash for membarrier_cmd_flag

§

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_status

§

impl Hash for nlmsgerr_attrs

§

impl Hash for rt_class_t

§

impl Hash for rt_scope_t

§

impl Hash for rtattr_type_t

§

impl Hash for socket_state

§

impl Hash for tcp_ca_state

§

impl Hash for tcp_fastopen_client_fail

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 IdPin<'a>

Source§

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

Source§

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

§

impl<'a, T> Hash for devela::_dep::bumpalo::boxed::Box<'a, T>
where T: Hash + ?Sized,

Source§

impl<'a, T: Hash + 'a> Hash for ConstList<'a, T>

Source§

impl<'a, T: Hash> Hash for ConstListIterator<'a, T>

Source§

impl<'a, _0: Hash, _1: Hash, _2: Hash, _3: Hash, _4: Hash, _5: Hash, _6: Hash, _7: Hash, _8: Hash, _9: Hash, _10: Hash, _11: Hash> Hash for TupleElementMut<'a, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11>

Available on crate feature _tuple only.
Source§

impl<'a, _0: Hash, _1: Hash, _2: Hash, _3: Hash, _4: Hash, _5: Hash, _6: Hash, _7: Hash, _8: Hash, _9: Hash, _10: Hash, _11: Hash> Hash for TupleElementRef<'a, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11>

Available on crate feature _tuple only.
§

impl<'bump> Hash for devela::_dep::bumpalo::collections::String<'bump>

§

impl<'bump, T> Hash for devela::_dep::bumpalo::collections::Vec<'bump, T>
where T: 'bump + Hash,

§

impl<'n> Hash for TimeZoneAnnotationKind<'n>

§

impl<'n> Hash for Pieces<'n>

§

impl<'n> Hash for TimeZoneAnnotation<'n>

§

impl<'n> Hash for TimeZoneAnnotationName<'n>

§

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

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 devela::_core::ptr::DynMetadata<Dyn>
where Dyn: ?Sized,

§

impl<Dyn> Hash for devela::_dep::rkyv::ptr_meta::DynMetadata<Dyn>
where Dyn: ?Sized,

1.4.0 · Source§

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

Source§

impl<G: Hash, C: Hash> Hash for GcdReturn<G, C>

Source§

impl<Idx> Hash for devela::_core::range::Range<Idx>
where Idx: Hash,

Source§

impl<Idx> Hash for devela::_core::range::RangeFrom<Idx>
where Idx: Hash,

Source§

impl<Idx> Hash for devela::_core::range::RangeInclusive<Idx>
where Idx: Hash,

1.0.0 · Source§

impl<Idx> Hash for devela::all::Range<Idx>
where Idx: Hash,

1.0.0 · Source§

impl<Idx> Hash for devela::all::RangeFrom<Idx>
where Idx: Hash,

1.26.0 · Source§

impl<Idx> Hash for devela::all::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<K, V> Hash for Entry<K, V>
where K: Hash, V: Hash,

1.0.0 · Source§

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

Source§

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

Source§

impl<N: Hash, H: Hash> Hash for Mismatch<N, H>

1.41.0 · Source§

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

§

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

§

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

§

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

§

impl<T0> Hash for ArchivedTuple1<T0>
where T0: Hash,

§

impl<T0, T1> Hash for ArchivedTuple2<T0, T1>
where T0: Hash, T1: Hash,

§

impl<T0, T1, T2> Hash for ArchivedTuple3<T0, T1, T2>
where T0: Hash, T1: Hash, T2: Hash,

§

impl<T0, T1, T2, T3> Hash for ArchivedTuple4<T0, T1, T2, T3>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash,

§

impl<T0, T1, T2, T3, T4> Hash for ArchivedTuple5<T0, T1, T2, T3, T4>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash,

§

impl<T0, T1, T2, T3, T4, T5> Hash for ArchivedTuple6<T0, T1, T2, T3, T4, T5>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6> Hash for ArchivedTuple7<T0, T1, T2, T3, T4, T5, T6>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Hash for ArchivedTuple8<T0, T1, T2, T3, T4, T5, T6, T7>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Hash for ArchivedTuple9<T0, T1, T2, T3, T4, T5, T6, T7, T8>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Hash for ArchivedTuple10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash, T9: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Hash for ArchivedTuple11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash, T9: Hash, T10: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Hash for ArchivedTuple12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash, T9: Hash, T10: Hash, T11: Hash,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Hash for ArchivedTuple13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
where T0: Hash, T1: Hash, T2: Hash, T3: Hash, T4: Hash, T5: Hash, T6: Hash, T7: Hash, T8: Hash, T9: Hash, T10: Hash, T11: Hash, T12: Hash,

1.0.0 · Source§

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

1.17.0 · Source§

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

1.36.0 · Source§

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

§

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

§

impl<T> Hash for ArchivedOption<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.21.0 · Source§

impl<T> Hash for Discriminant<T>

1.20.0 · Source§

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

1.28.0 · Source§

impl<T> Hash for NonZero<T>

1.0.0 · Source§

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

1.25.0 · Source§

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

1.74.0 · Source§

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

Source§

impl<T> Hash for TypeResource<T>
where T: TypeResourced, T::TypeData: Hash,

1.0.0 · Source§

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

1.19.0 · Source§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Hash for Vector4<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 BTreeSet<T, A>
where T: Hash, A: Allocator + Clone,

1.0.0 · Source§

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

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 devela::all::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 VecDeque<T, A>
where T: Hash, A: Allocator,

1.0.0 · Source§

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

Source§

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

§

impl<T, B> Hash for EulerAngles<T, B>
where T: Hash, B: Hash,

1.0.0 · Source§

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

§

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

§

impl<T, F> Hash for ArchivedRc<T, F>
where T: ArchivePointee + Hash + ?Sized,

Source§

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

Source§

impl<T: Hash> Hash for CacheAlign<T>

Source§

impl<T: Hash> Hash for Bitwise<T>

Source§

impl<T: Hash> Hash for Frac<T>

Source§

impl<T: Hash> Hash for Int<T>

Source§

impl<T: Hash> Hash for Interval<T>

Source§

impl<T: Hash, const CAP: usize, S: Storage> Hash for Array<T, CAP, S>
where S::Stored<[T; CAP]>: Hash,

Source§

impl<T: Hash, const D: usize> Hash for Extent<T, D>

Available on crate feature geom only.
Source§

impl<T: Hash, const D: usize> Hash for Point<T, D>

Available on crate feature geom only.
Source§

impl<T: Hash, const D: usize> Hash for Vector<T, D>

Available on crate feature alg only.
Source§

impl<V, Q> Hash for ValueQuant<V, Q>
where V: Hash, Q: Hash,

Source§

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

Source§

impl<Y: Hash, MO: Hash, D: Hash, H: Hash, M: Hash, S: Hash, MS: Hash, US: Hash, NS: Hash> Hash for TimeSplit<Y, MO, D, H, M, S, MS, US, NS>

Source§

impl<_0: Hash, _1: Hash, _2: Hash, _3: Hash, _4: Hash, _5: Hash, _6: Hash, _7: Hash, _8: Hash, _9: Hash, _10: Hash, _11: Hash> Hash for TupleElement<_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11>

Available on crate feature _tuple only.
Source§

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

Available on crate feature _string_nonul only.
Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<const V: i8> Hash for devela::_info::examples::niche::NonValueI8<V>

Available on doc only.
Source§

impl<const V: i8> Hash for devela::all::NonValueI8<V>

Source§

impl<const V: u8> Hash for NonValueU8<V>

Source§

impl<const V: u16> Hash for NonValueU16<V>