Browse Source

use `RandomState::with_seeds` replace `AHasher::default` (#2254)

* use `RandomState::with_seeds` replace `AHasher::default`

* remove history checkout

* update seeds to `1,2,3,4`
pull/2257/head
axxop 2 years ago
committed by GitHub
parent
commit
940b896cbb
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      crates/egui/src/id.rs
  2. 6
      crates/epaint/src/util/mod.rs

8
crates/egui/src/id.rs

@ -45,16 +45,16 @@ impl Id {
/// Generate a new [`Id`] by hashing some source (e.g. a string or integer).
pub fn new(source: impl std::hash::Hash) -> Id {
use std::hash::Hasher;
let mut hasher = epaint::ahash::AHasher::default();
use std::hash::{BuildHasher, Hasher};
let mut hasher = epaint::ahash::RandomState::with_seeds(1, 2, 3, 4).build_hasher();
source.hash(&mut hasher);
Id(hasher.finish())
}
/// Generate a new [`Id`] by hashing the parent [`Id`] and the given argument.
pub fn with(self, child: impl std::hash::Hash) -> Id {
use std::hash::Hasher;
let mut hasher = epaint::ahash::AHasher::default();
use std::hash::{BuildHasher, Hasher};
let mut hasher = epaint::ahash::RandomState::with_seeds(1, 2, 3, 4).build_hasher();
hasher.write_u64(self.0);
child.hash(&mut hasher);
Id(hasher.finish())

6
crates/epaint/src/util/mod.rs

@ -5,10 +5,8 @@ pub use ordered_float::*;
/// Hash the given value with a predictable hasher.
#[inline]
pub fn hash(value: impl std::hash::Hash) -> u64 {
use std::hash::Hasher as _;
let mut hasher = ahash::AHasher::default();
value.hash(&mut hasher);
hasher.finish()
use ahash::RandomState;
RandomState::with_seeds(1, 2, 3, 4).hash_one(value)
}
/// Hash the given value with the given hasher.

Loading…
Cancel
Save