#hasher #deterministic #default #ult-hasher #deterministic-def

deterministic_default_hasher

A deterministic initialisation of the stdlib default hasher

8 releases (4 breaking)

new 0.14.2 Apr 8, 2025
0.14.1 Apr 4, 2025
0.14.0 Mar 28, 2025
0.13.0 Mar 27, 2025
0.5.0 Nov 15, 2024

#699 in Rust patterns

Download history 136/week @ 2024-12-17 11/week @ 2024-12-31 10/week @ 2025-01-07 283/week @ 2025-01-14 83/week @ 2025-01-21 12/week @ 2025-01-28 29/week @ 2025-02-04 13/week @ 2025-02-11 16/week @ 2025-02-18 24/week @ 2025-02-25 50/week @ 2025-03-04 47/week @ 2025-03-11 11/week @ 2025-03-18 278/week @ 2025-03-25 148/week @ 2025-04-01

489 downloads per month
Used in 6 crates (2 directly)

BSD-2-Clause

3KB

Deterministic default hasher

Annoyed by your rust hashtables behaving differently each execution, and making reproducing bugs a matter of luck? Worry no more, simply use the deterministic default hasher, which is nothing else than a special constructor for the default hasher that always chooses the same seed, instead of using a random one.

Example

use deterministic_default_hasher::DeterministicDefaultHasher;

let map = HashMap::<String, usize, DeterministicDefaultHasher>::new();

The third argument defaults to DefaultHasher. Using DeterministicDefaultHasher instead makes the hash map deterministic.

No runtime deps