artichoke_core::hash

Trait Hash

Source
pub trait Hash {
    type Error;
    type GlobalBuildHasher: BuildHasher;

    // Required method
    fn global_build_hasher(
        &mut self,
    ) -> Result<&Self::GlobalBuildHasher, Self::Error>;
}
Expand description

A trait for retrieving an interpreter-global BuildHasher.

The BuildHasher associated with the interpreter is for creating instances of Hasher. A BuildHasher is typically used (e.g., by HashMap) to create Hashers for each key such that they are hashed independently of one another, since Hashers contain state.

By associating one BuildHasher with the interpreter, identical Ruby objects should hash identically, even if the interpreter’s BuildHasher includes randomness.

Required Associated Types§

Source

type Error

Concrete error type for errors encountered when retrieving the interpreter’s global BuildHasher.

Source

type GlobalBuildHasher: BuildHasher

Concrete BuildHasher type which is global to the interpreter.

Required Methods§

Source

fn global_build_hasher( &mut self, ) -> Result<&Self::GlobalBuildHasher, Self::Error>

Retrieve the interpreter’s global BuildHasher.

§Errors

If the BuildHasher is inaccessible, an error is returned.

Implementors§