Add stable_hash.
This commit is contained in:
parent
3a3653f42a
commit
20d4b71591
@ -4,6 +4,11 @@ Rhai Release Notes
|
||||
Version 1.11.0
|
||||
==============
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
* A new feature flag, `stable_hash`, is added that forces hashing to be consistent using a fixed seed.
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
|
||||
|
@ -62,6 +62,7 @@ metadata = ["serde", "serde_json", "rhai_codegen/metadata", "smartstring/serde"]
|
||||
internals = [] # expose internal data structures
|
||||
debugging = ["internals"] # enable debugging
|
||||
serde = ["dep:serde", "smartstring/serde", "smallvec/serde"] # implement serde for rhai types
|
||||
stable_hash = [] # perform all hashing with fixed seed value
|
||||
|
||||
# compiling for no-std
|
||||
no_std = ["no-std-compat", "num-traits/libm", "core-error", "libm", "ahash/compile-time-rng", "hashbrown/ahash-compile-time-rng"]
|
||||
|
@ -74,7 +74,11 @@ impl BuildHasher for StraightHasherBuilder {
|
||||
#[inline(always)]
|
||||
#[must_use]
|
||||
pub fn get_hasher() -> ahash::AHasher {
|
||||
ahash::AHasher::default()
|
||||
if cfg!(feature = "stable_hash") {
|
||||
ahash::RandomState::with_seeds(42, 999, 123, 0).build_hasher()
|
||||
} else {
|
||||
ahash::AHasher::default()
|
||||
}
|
||||
}
|
||||
|
||||
/// Calculate a non-zero [`u64`] hash key from a namespace-qualified variable name.
|
||||
|
Loading…
Reference in New Issue
Block a user