Struct rustc_data_structures::stable_hasher::StableHasher
source · pub struct StableHasher {
state: SipHasher128,
}
Expand description
When hashing something that ends up affecting properties like symbol names, we want these symbol names to be calculated independently of other factors like what architecture you’re compiling from.
To that end we always convert integers to little-endian format before
hashing and the architecture dependent isize
and usize
types are
extended to 64 bits if needed.
Fields
state: SipHasher128
Implementations
sourceimpl StableHasher
impl StableHasher
pub fn new() -> Self
pub fn finish<W: StableHasherResult>(self) -> W
Trait Implementations
sourceimpl Debug for StableHasher
impl Debug for StableHasher
sourceimpl Hasher for StableHasher
impl Hasher for StableHasher
sourcefn write_str(&mut self, s: &str)
fn write_str(&mut self, s: &str)
🔬This is a nightly-only experimental API. (
hasher_prefixfree_extras
)Writes a single
str
into this hasher. Read moresourcefn write_length_prefix(&mut self, len: usize)
fn write_length_prefix(&mut self, len: usize)
🔬This is a nightly-only experimental API. (
hasher_prefixfree_extras
)Writes a length prefix into this hasher, as part of being prefix-free. Read more
sourcefn write_u128(&mut self, i: u128)
fn write_u128(&mut self, i: u128)
Writes a single
u128
into this hasher.sourcefn write_usize(&mut self, i: usize)
fn write_usize(&mut self, i: usize)
Writes a single
usize
into this hasher.sourcefn write_i128(&mut self, i: i128)
fn write_i128(&mut self, i: i128)
Writes a single
i128
into this hasher.sourcefn write_isize(&mut self, i: isize)
fn write_isize(&mut self, i: isize)
Writes a single
isize
into this hasher.Auto Trait Implementations
impl RefUnwindSafe for StableHasher
impl Send for StableHasher
impl Sync for StableHasher
impl Unpin for StableHasher
impl UnwindSafe for StableHasher
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> Erased for T
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 120 bytes