diff --git a/crates/egui/src/id.rs b/crates/egui/src/id.rs index d4a52e771..94184e0a1 100644 --- a/crates/egui/src/id.rs +++ b/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()) diff --git a/crates/epaint/src/util/mod.rs b/crates/epaint/src/util/mod.rs index 2b7e0c736..cb3bc66d9 100644 --- a/crates/epaint/src/util/mod.rs +++ b/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.