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 { ... }
}
Expand description

core 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

Source§

impl Hash for Ipv6MulticastScope

§

impl Hash for CheckedCastError

§

impl Hash for PodCastError

§

impl Hash for SetCursorStyle

§

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 devela::_dep::crossterm::style::Color

§

impl Hash for Colored

§

impl Hash for ClearType

§

impl Hash for AVActiveFormatDescription

§

impl Hash for AVAppToDevMessageType

§

impl Hash for AVAudioServiceType

§

impl Hash for AVCRCId

§

impl Hash for AVChannel

§

impl Hash for AVChannelOrder

§

impl Hash for AVChromaLocation

§

impl Hash for AVClassCategory

§

impl Hash for AVCodecID

§

impl Hash for AVColorPrimaries

§

impl Hash for AVColorRange

§

impl Hash for AVColorSpace

§

impl Hash for AVColorTransferCharacteristic

§

impl Hash for AVDevToAppMessageType

§

impl Hash for AVDiscard

§

impl Hash for AVDownmixType

§

impl Hash for AVDurationEstimationMethod

§

impl Hash for AVEscapeMode

§

impl Hash for AVFieldOrder

§

impl Hash for AVFrameSideDataType

§

impl Hash for AVHMACType

§

impl Hash for AVHWDeviceType

§

impl Hash for AVHWFrameTransferDirection

§

impl Hash for AVIODataMarkerType

§

impl Hash for AVIODirEntryType

§

impl Hash for AVMatrixEncoding

§

impl Hash for AVMediaType

§

impl Hash for AVPacketSideDataType

§

impl Hash for AVPictureStructure

§

impl Hash for AVPictureType

§

impl Hash for AVPixelFormat

§

impl Hash for AVRounding

§

impl Hash for AVSampleFormat

§

impl Hash for AVSideDataParamChangeFlags

§

impl Hash for AVStereo3DType

§

impl Hash for AVStereo3DView

§

impl Hash for AVStreamParseType

§

impl Hash for AVSubtitleType

§

impl Hash for AVThreadMessageFlags

§

impl Hash for AVTimebaseSource

§

impl Hash for AVTimecodeFlag

§

impl Hash for DCTTransformType

§

impl Hash for RDFTransformType

§

impl Hash for SwrDitherType

§

impl Hash for SwrEngine

§

impl Hash for SwrFilterType

§

impl Hash for _bindgen_ty_2

§

impl Hash for _bindgen_ty_3

§

impl Hash for _bindgen_ty_4

§

impl Hash for _bindgen_ty_5

§

impl Hash for _bindgen_ty_6

§

impl Hash for _bindgen_ty_7

§

impl Hash for _bindgen_ty_8

§

impl Hash for devela::_dep::gilrs::Axis

§

impl Hash for devela::_dep::gilrs::Button

§

impl Hash for AxisOrBtn

§

impl Hash for ColorType

§

impl Hash for ExtendedColorType

§

impl Hash for ImageFormat

§

impl Hash for ImageFormatHint

§

impl Hash for LimitErrorKind

§

impl Hash for ParameterErrorKind

§

impl Hash for UnsupportedErrorKind

§

impl Hash for devela::_dep::image::flat::Error

§

impl Hash for NormalForm

§

impl Hash for FilterType

§

impl Hash for devela::_dep::image::metadata::Orientation

§

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

§

impl Hash for AppleGfxApi

§

impl Hash for LinuxBackend

§

impl Hash for LinuxX11Gl

§

impl Hash for WaylandDecorations

§

impl Hash for WebGLVersion

§

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 devela::_dep::miniquad::log::Level

§

impl Hash for AudioFormat

§

impl Hash for AudioStatus

§

impl Hash for devela::_dep::sdl2::controller::Axis

§

impl Hash for devela::_dep::sdl2::controller::Button

§

impl Hash for MappingStatus

§

impl Hash for devela::_dep::sdl2::Error

§

impl Hash for DisplayEvent

§

impl Hash for devela::_dep::sdl2::event::EventType

§

impl Hash for WindowEvent

§

impl Hash for HatState

§

impl Hash for PowerLevel

§

impl Hash for Scancode

§

impl Hash for tpacket_versions

§

impl Hash for Category

§

impl Hash for Priority

§

impl Hash for Fading

§

impl Hash for MusicType

§

impl Hash for devela::_dep::sdl2::mouse::MouseButton

§

impl Hash for MouseWheelDirection

§

impl Hash for SystemCursor

§

impl Hash for PixelFormatEnum

§

impl Hash for BlendMode

§

impl Hash for ScaleMode

§

impl Hash for TextureAccess

§

impl Hash for SDL_ArrayOrder

§

impl Hash for SDL_AssertState

§

impl Hash for SDL_AudioStatus

§

impl Hash for SDL_BitmapOrder

§

impl Hash for SDL_BlendFactor

§

impl Hash for SDL_BlendMode

§

impl Hash for SDL_BlendOperation

§

impl Hash for SDL_DUMMY_ENUM

§

impl Hash for SDL_DisplayEventID

§

impl Hash for SDL_DisplayOrientation

§

impl Hash for SDL_EventType

§

impl Hash for SDL_FlashOperation

§

impl Hash for SDL_GLContextResetNotification

§

impl Hash for SDL_GLattr

§

impl Hash for SDL_GLcontextFlag

§

impl Hash for SDL_GLcontextReleaseFlag

§

impl Hash for SDL_GLprofile

§

impl Hash for SDL_GameControllerAxis

§

impl Hash for SDL_GameControllerBindType

§

impl Hash for SDL_GameControllerButton

§

impl Hash for SDL_GameControllerType

§

impl Hash for SDL_HintPriority

§

impl Hash for SDL_HitTestResult

§

impl Hash for SDL_JoystickPowerLevel

§

impl Hash for SDL_JoystickType

§

impl Hash for SDL_KeyCode

§

impl Hash for SDL_Keymod

§

impl Hash for SDL_LogCategory

§

impl Hash for SDL_LogPriority

§

impl Hash for SDL_MessageBoxButtonFlags

§

impl Hash for SDL_MessageBoxColorType

§

impl Hash for SDL_MessageBoxFlags

§

impl Hash for SDL_MouseWheelDirection

§

impl Hash for SDL_PackedLayout

§

impl Hash for SDL_PackedOrder

§

impl Hash for SDL_PixelFormatEnum

§

impl Hash for SDL_PixelType

§

impl Hash for SDL_PowerState

§

impl Hash for SDL_RendererFlags

§

impl Hash for SDL_RendererFlip

§

impl Hash for SDL_SYSWM_TYPE

§

impl Hash for SDL_ScaleMode

§

impl Hash for SDL_Scancode

§

impl Hash for SDL_SensorType

§

impl Hash for SDL_SystemCursor

§

impl Hash for SDL_TextureAccess

§

impl Hash for SDL_TextureModulate

§

impl Hash for SDL_ThreadPriority

§

impl Hash for SDL_TouchDeviceType

§

impl Hash for SDL_WindowEventID

§

impl Hash for SDL_WindowFlags

§

impl Hash for SDL_YUV_CONVERSION_MODE

§

impl Hash for SDL_bool

§

impl Hash for SDL_errorcode

§

impl Hash for SDL_eventaction

§

impl Hash for WindowShapeMode

§

impl Hash for XIMCaretDirection

§

impl Hash for XIMCaretStyle

§

impl Hash for XIMStatusDataType

§

impl Hash for XOrientation

§

impl Hash for FlashOperation

§

impl Hash for FullscreenType

§

impl Hash for GLProfile

§

impl Hash for devela::_dep::sdl2::video::Orientation

§

impl Hash for SwapInterval

§

impl Hash for WindowPos

§

impl Hash for StandardTagKey

§

impl Hash for StandardVisualKey

§

impl Hash for DiskKind

§

impl Hash for ProcessStatus

§

impl Hash for Signal

§

impl Hash for devela::_dep::toml_edit::ser::Error

§

impl Hash for ProxyProtocol

Source§

impl Hash for ExampleEnumIntU8

Available on doc or test only.
1.44.0 · Source§

impl Hash for Infallible

Source§

impl Hash for NumError

Source§

impl Hash for devela::num::Sign

Source§

impl Hash for devela::text::AsciiChar

Source§

impl Hash for InvalidText

Source§

impl Hash for TextError

Available on crate feature error and text·· only.
Source§

impl Hash for AllErrorKind

Available on crate feature error only.
Source§

impl Hash for AngleDirection

Available on crate feature metric only.
Source§

impl Hash for AngleKind

Available on crate feature metric only.
1.0.0 · Source§

impl Hash for devela::all::AtomicOrdering

Source§

impl Hash for CompressionMode

Source§

impl Hash for DataError

Available on crate feature error and data·· only.
Source§

impl Hash for DataNotEnough

Source§

impl Hash for Dither

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
Source§

impl Hash for EncodingMode

1.0.0 · Source§

impl Hash for ErrorKind

1.7.0 · Source§

impl Hash for IpAddr

Source§

impl Hash for devela::all::Key

Source§

impl Hash for KeyAlpha

Source§

impl Hash for KeyMedia

Source§

impl Hash for KeyMod

Source§

impl Hash for KeyPad

Source§

impl Hash for KeyState

Source§

impl Hash for devela::all::LogLevel

Source§

impl Hash for LevelFilter

Source§

impl Hash for MismatchedBounds

Source§

impl Hash for Month

Source§

impl Hash for NotAvailable

1.0.0 · Source§

impl Hash for devela::all::Ordering

1.55.0 · Source§

impl Hash for IntErrorKind

Source§

impl Hash for PartialSpace

Source§

impl Hash for PixelFormat

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
Source§

impl Hash for SixelError

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
Source§

impl Hash for SixelMean

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
Source§

impl Hash for SixelQuality

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
Source§

impl Hash for SixelSplit

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
1.0.0 · Source§

impl Hash for SocketAddr

Source§

impl Hash for TimeError

Available on crate features error and time only.
Source§

impl Hash for TimeGranularity

Source§

impl Hash for WaveletUnitRole

Available on crate feature wave only.
Source§

impl Hash for WebEventKind

Available on crate feature js only.
Source§

impl Hash for WebKeyLocation

Available on crate feature js only.
Source§

impl Hash for WebPermission

Available on crate feature js only.
Source§

impl Hash for WebPermissionState

Available on crate feature js only.
Source§

impl Hash for EulerRot

Source§

impl Hash for num_bigint::bigint::Sign

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 ByteStr

Source§

impl Hash for Alignment

Source§

impl Hash for ByteString

Source§

impl Hash for UCred

§

impl Hash for KeyEvent

§

impl Hash for KeyEventState

§

impl Hash for KeyModifiers

§

impl Hash for KeyboardEnhancementFlags

§

impl Hash for MouseEvent

§

impl Hash for AVOptionType

§

impl Hash for GlyphRasterConfig

§

impl Hash for Font

§

impl Hash for Code

§

impl Hash for Effect

§

impl Hash for GamepadId

§

impl Hash for SampleLayout

§

impl Hash for devela::_dep::image::math::Rect

§

impl Hash for LimitSupport

§

impl Hash for Limits

§

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 SpanFieldwise

§

impl Hash for devela::_dep::jiff::Timestamp

§

impl Hash for Zoned

§

impl Hash for Offset

§

impl Hash for MockBackendSettings

§

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

§

impl Hash for devela::_dep::sdl2::image::InitFlag

§

impl Hash for Keycode

§

impl Hash for Mod

§

impl Hash for Dl_info

§

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 __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_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 _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 dirent64

§

impl Hash for dirent

§

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 flock64

§

impl Hash for flock

§

impl Hash for fpos64_t

§

impl Hash for fpos_t

§

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 if_nameindex

§

impl Hash for ifaddrs

§

impl Hash for in6_addr

§

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

§

impl Hash for mallinfo

§

impl Hash for mbstate_t

§

impl Hash for mcontext_t

§

impl Hash for mmsghdr

§

impl Hash for mnt_ns_info

§

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 nl_mmap_hdr

§

impl Hash for nl_mmap_req

§

impl Hash for nl_pktinfo

§

impl Hash for nlattr

§

impl Hash for nlmsgerr

§

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 pidfd_info

§

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 rlimit64

§

impl Hash for rlimit

§

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_in6

§

impl Hash for sockaddr_in

§

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 spwd

§

impl Hash for stack_t

§

impl Hash for stat64

§

impl Hash for stat

§

impl Hash for statfs64

§

impl Hash for statfs

§

impl Hash for statvfs64

§

impl Hash for statvfs

§

impl Hash for statx

§

impl Hash for statx_timestamp

§

impl Hash for sysinfo

§

impl Hash for tcp_info

§

impl Hash for termios2

§

impl Hash for termios

§

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_req3

§

impl Hash for tpacket_req

§

impl Hash for tpacket_rollover_stats

§

impl Hash for tpacket_stats

§

impl Hash for tpacket_stats_v3

§

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 Hash for Locale

§

impl Hash for MessageBoxButtonFlag

§

impl Hash for MessageBoxFlag

§

impl Hash for AllowChangeFlag

§

impl Hash for devela::_dep::sdl2::mixer::InitFlag

§

impl Hash for MouseState

§

impl Hash for RelativeMouseState

§

impl Hash for devela::_dep::sdl2::pixels::Color

§

impl Hash for devela::_dep::sdl2::rect::Point

§

impl Hash for devela::_dep::sdl2::rect::Rect

§

impl Hash for RendererInfo

§

impl Hash for TextureQuery

§

impl Hash for __BindgenFloat16

§

impl Hash for FontStyle

§

impl Hash for devela::_dep::sdl2::version::Version

§

impl Hash for DisplayMode

§

impl Hash for Channels

§

impl Hash for CodecType

§

impl Hash for Gid

§

impl Hash for IpNetwork

§

impl Hash for MacAddr

§

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

§

impl Hash for Uid

§

impl Hash for Id

§

impl Hash for devela::_dep::toml_edit::de::Error

§

impl Hash for Decor

§

impl Hash for devela::_dep::toml_edit::Key

§

impl Hash for RawString

§

impl Hash for Repr

§

impl Hash for TomlError

§

impl Hash for HeaderName

§

impl Hash for HeaderValue

§

impl Hash for Method

§

impl Hash for StatusCode

§

impl Hash for Uri

§

impl Hash for devela::_dep::ureq::http::Version

§

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 PathAndQuery

§

impl Hash for Scheme

Case-insensitive hashing

§

impl Hash for Proxy

§

impl Hash for BStr

§

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

Source§

impl Hash for ExampleBitfield

Available on crate feature _bit_u8 and (doc or test) only.
Source§

impl Hash for ExampleBitfieldCustom

Available on crate feature _bit_u8 and (doc or test) only.
Source§

impl Hash for ExampleBitfieldExtra

Available on crate feature _bit_u8 and (doc or test) only.
Source§

impl Hash for ExampleEnumSet

Available on doc or test only.
Source§

impl Hash for ExampleIdSeqUsize

Available on doc or test only.
1.0.0 · Source§

impl Hash for TypeId

Source§

impl Hash for Divisor<i64>

Source§

impl Hash for Divisor<u32>

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

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

Source§

impl Hash for USizeVec2

Source§

impl Hash for USizeVec3

Source§

impl Hash for USizeVec4

Source§

impl Hash for BigInt

Source§

impl Hash for BigUint

Source§

impl Hash for uuid::error::Error

Source§

impl Hash for Braced

Source§

impl Hash for Hyphenated

Source§

impl Hash for Simple

Source§

impl Hash for Urn

Source§

impl Hash for NonNilUuid

Source§

impl Hash for Uuid

Source§

impl Hash for uuid::timestamp::Timestamp

Source§

impl Hash for AppApple

Available on crate feature std only.
Source§

impl Hash for AppUnix

Available on crate feature std only.
Source§

impl Hash for AppWindows

Available on crate feature std only.
Source§

impl Hash for AppXdg

Available on crate feature std only.
1.64.0 · Source§

impl Hash for CStr

1.64.0 · Source§

impl Hash for CString

Source§

impl Hash for DataOverflow

1.3.0 · Source§

impl Hash for Duration

Source§

impl Hash for ElementNotFound

Source§

impl Hash for EventKey

Source§

impl Hash for EventTimestamp

Source§

impl Hash for FailedErrorConversion

Source§

impl Hash for False

1.1.0 · Source§

impl Hash for FileType

1.0.0 · Source§

impl Hash for devela::all::FmtError

Source§

impl Hash for IdPinBox

Source§

impl Hash for IndexOutOfBounds

Source§

impl Hash for InvalidAxisLength

1.0.0 · Source§

impl Hash for Ipv4Addr

1.0.0 · Source§

impl Hash for Ipv6Addr

Source§

impl Hash for JsTimeout

Available on crate feature js only.
Source§

impl Hash for KeyAlreadyExists

Source§

impl Hash for KeyMods

Source§

impl Hash for LinuxSigset

Available on crate feature linux only.
Source§

impl Hash for Maybe

1.28.0 · Source§

impl Hash for Layout

§

impl Hash for Platform

Source§

impl Hash for MismatchedCapacity

Source§

impl Hash for MismatchedDimensions

Source§

impl Hash for MismatchedIndices

Source§

impl Hash for NoInverse

Source§

impl Hash for NodeEmpty

Source§

impl Hash for NodeLinkNotSet

Source§

impl Hash for NodeLinkNotUnique

Source§

impl Hash for NonNegativeRequired

Source§

impl Hash for NonZeroRequired

Source§

impl Hash for NotEnoughElements

Source§

impl Hash for NotEnoughSpace

Source§

impl Hash for NotImplemented

Source§

impl Hash for NotSupported

Source§

impl Hash for NumericOverflow

1.0.0 · Source§

impl Hash for OsStr

1.0.0 · Source§

impl Hash for OsString

Source§

impl Hash for PartiallyAdded

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

Source§

impl Hash for PositiveRequired

1.0.0 · Source§

impl Hash for RangeFull

1.0.0 · Source§

impl Hash for SocketAddrV4

1.0.0 · Source§

impl Hash for SocketAddrV6

1.0.0 · Source§

impl Hash for devela::all::String

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 TermSize

Available on crate feature term only.
1.19.0 · Source§

impl Hash for ThreadId

Source§

impl Hash for TimeDelta

Source§

impl Hash for Timeout

Source§

impl Hash for True

Source§

impl Hash for WebElement

Available on crate feature js only.
Source§

impl Hash for WebWorker

Available on crate feature js only.
Source§

impl Hash for WebWorkerJob

Available on crate feature js only.
Source§

impl Hash for g_bvec2

Available on crate feature glsl only.
Source§

impl Hash for g_bvec3

Available on crate feature glsl only.
Source§

impl Hash for g_bvec4

Available on crate feature glsl only.
Source§

impl Hash for g_ivec2

Available on crate feature glsl only.
Source§

impl Hash for g_ivec3

Available on crate feature glsl only.
Source§

impl Hash for g_ivec4

Available on crate feature glsl only.
Source§

impl Hash for g_uvec2

Available on crate feature glsl only.
Source§

impl Hash for g_uvec3

Available on crate feature glsl only.
Source§

impl Hash for g_uvec4

Available on crate feature glsl only.
§

impl Hash for __c_anonymous_ptrace_syscall_info_data

§

impl Hash for Access

§

impl Hash for Action

§

impl Hash for Addr

§

impl Hash for ArenaFull

§

impl Hash for AudioTstampType

§

impl Hash for BigEndian

§

impl Hash for Bytes

§

impl Hash for BytesMut

§

impl Hash for ChmapPosition

§

impl Hash for ChmapType

§

impl Hash for ChunkType

§

impl Hash for CompressionLevel

§

impl Hash for CompressionStrategy

§

impl Hash for Connect

§

impl Hash for ControlModes

§

impl Hash for DataFormat

§

impl Hash for Direction

§

impl Hash for DupFlags

§

impl Hash for EfdFlags

§

impl Hash for ElemIface

§

impl Hash for ElemType

§

impl Hash for Encoding

§

impl Hash for Encoding

§

impl Hash for EpollCreateFlags

§

impl Hash for EpollEvent

§

impl Hash for EpollFlags

§

impl Hash for EpollOp

§

impl Hash for Errno

§

impl Hash for EvCode

§

impl Hash for EvCtrl

§

impl Hash for EvNote

§

impl Hash for EvResult

§

impl Hash for Event

§

impl Hash for EventKind

§

impl Hash for EventMask

§

impl Hash for EventType

§

impl Hash for ExtraXYZ

§

impl Hash for ExtraZXZ

§

impl Hash for ExtraZYX

§

impl Hash for FdFlags

§

impl Hash for Flags

§

impl Hash for Format

§

impl Hash for GlyphClass

§

impl Hash for GlyphId

§

impl Hash for HostId

§

impl Hash for InputModes

§

impl Hash for InputStreamTimestamp

§

impl Hash for InsertWithKeyError

§

impl Hash for IntegerRadix

§

impl Hash for IntraXYZ

§

impl Hash for IntraZXZ

§

impl Hash for IntraZYX

§

impl Hash for Key

§

impl Hash for Level

§

impl Hash for LittleEndian

§

impl Hash for LocalModes

§

impl Hash for MZError

§

impl Hash for MZFlush

§

impl Hash for MZStatus

§

impl Hash for MilliBel

§

impl Hash for OptionalActions

§

impl Hash for OutputModes

§

impl Hash for OutputStreamTimestamp

§

impl Hash for Permissions

§

impl Hash for Pid

§

impl Hash for PortCap

§

impl Hash for PortType

§

impl Hash for QueueSelector

§

impl Hash for ReadWriteFlags

§

impl Hash for Remove

§

impl Hash for ScalarKind

§

impl Hash for ScriptMetrics

§

impl Hash for SelemChannelId

§

impl Hash for SigId

§

impl Hash for Span

§

impl Hash for SpecialCodeIndex

§

impl Hash for State

§

impl Hash for StreamInstant

§

impl Hash for StreamResult

§

impl Hash for Style

§

impl Hash for SysInfo

§

impl Hash for TDEFLFlush

§

impl Hash for TDEFLStatus

§

impl Hash for TINFLStatus

§

impl Hash for Tag

§

impl Hash for TimeSpec

§

impl Hash for TimeVal

§

impl Hash for Token

§

impl Hash for Token

§

impl Hash for TokenKind

§

impl Hash for Transformations

§

impl Hash for TstampType

§

impl Hash for WatchDescriptor

§

impl Hash for WatchMask

§

impl Hash for Weight

§

impl Hash for Width

§

impl Hash for Winsize

§

impl Hash for fsconfig_command

§

impl Hash for membarrier_cmd

§

impl Hash for membarrier_cmd_flag

§

impl Hash for procmap_query_flags

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>

Source§

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

Source§

impl<'a> Hash for IdPin<'a>

Source§

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

1.10.0 · Source§

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

Source§

impl<'a> Hash for Sixel<'a>

Available on crate feature alloc and crate feature term and (crate features io or std) and (crate features dep_hashbrown or std) and crate feature image only.
§

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, T: ?Sized + Ownership + Hash> Hash for MaybeOwned<'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<'d> Hash for TimeZoneName<'d>

Source§

impl<'glyphs, T: Hash> Hash for BitmapFont<'glyphs, T>

Available on crate feature font only.
§

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

§

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

§

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

§

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

§

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

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<'t> Hash for TimeZoneOffsetInfo<'t>

§

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

§

impl<A, B> Hash for EitherOrBoth<A, B>
where A: Hash, B: 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 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 Slice<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<K: Hash + Copy, V: Hash, const N: usize> Hash for ExampleStaticMapU16<K, V, N>

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>

§

impl<P, Container> Hash for ImageBuffer<P, Container>
where P: Hash + Pixel, Container: 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<Storage> Hash for devela::_dep::ffmpeg_the_third::sys::__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,

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,

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

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,

§

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

§

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

§

impl<T> Hash for devela::_dep::image::Rgb<T>
where T: Hash,

§

impl<T> Hash for devela::_dep::image::Rgba<T>
where T: Hash,

§

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

Source§

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

Source§

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

Source§

impl<T> Hash for Ratio<T>
where T: Clone + Integer + Hash,

§

impl<T> Hash for devela::all::Arc<T>
where T: Hash + ?Sized,

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.19.0 · Source§

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

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,

§

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

§

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

Source§

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

1.0.0 · Source§

impl<T, A> Hash for devela::_dep::_alloc::sync::Arc<T, A>
where T: Hash + ?Sized, A: Allocator,

Source§

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

§

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

§

impl<T, A> Hash for devela::_dep::allocator_api2::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.

#![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, 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,

§

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));
§

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,

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

Source§

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

Source§

impl<T: Hash> Hash for Cycle<T>

Source§

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

Source§

impl<T: Hash> Hash for Scale<T>

Source§

impl<T: Hash, N: Hash> Hash for CycleCount<T, N>

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 Distance<T, D>

Source§

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

Source§

impl<T: Hash, const D: usize> Hash for devela::all::Orientation<T, D>

Available on crate feature metric only.
Source§

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

Available on crate feature shape only.
Source§

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

Source§

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

Available on crate feature metric only.
Source§

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

Available on crate feature metric only.
Source§

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

Available on crate feature metric only.
Source§

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

Available on crate feature linear only.
Source§

impl<T: Hash, const LINEAR: bool> Hash for devela::all::Rgb<T, LINEAR>

Available on crate feature color only.
Source§

impl<T: Hash, const LINEAR: bool, const PREMUL: bool> Hash for devela::all::Rgba<T, LINEAR, PREMUL>

Available on crate feature color only.
§

impl<V> Hash for VecMap<V>
where V: Hash,

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

Source§

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

Source§

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

Source§

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

Available on crate feature _str_nonul only.
Source§

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

Source§

impl<const LEN: usize, _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 Oneof<LEN, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11>

Source§

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

Source§

impl<const V: i16> Hash for NonValueI16<V>

Source§

impl<const V: i32> Hash for NonValueI32<V>

Source§

impl<const V: i64> Hash for NonValueI64<V>

Source§

impl<const V: i128> Hash for NonValueI128<V>

Source§

impl<const V: isize> Hash for NonValueIsize<V>

Source§

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

Source§

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

Source§

impl<const V: u32> Hash for NonValueU32<V>

Source§

impl<const V: u64> Hash for NonValueU64<V>

Source§

impl<const V: u128> Hash for NonValueU128<V>

Source§

impl<const V: usize> Hash for NonValueUsize<V>