Trait artichoke::prelude::Hash

source ·
pub trait Hash {
    type Error;
    type GlobalBuildHasher: BuildHasher;

    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

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

Concrete BuildHasher type which is global to the interpreter.

Required Methods

Retrieve the interpreter’s global BuildHasher.


If the BuildHasher is inaccessible, an error is returned.