about summary refs log tree commit diff
path: root/library/alloc/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-11-11 21:12:20 +0000
committerbors <bors@rust-lang.org>2023-11-11 21:12:20 +0000
commit2c1b65ee1431f8d3fe2142e821eb13c623bbf8a0 (patch)
tree309f710af9b252a81b42bac06de80552453ac75d /library/alloc/src
parented086d86b8b224f7df2da09cf48ac2a654bf841e (diff)
parent8337e86b28b9cdab7250e39710a1c81b99aeeb8d (diff)
downloadrust-2c1b65ee1431f8d3fe2142e821eb13c623bbf8a0.tar.gz
rust-2c1b65ee1431f8d3fe2142e821eb13c623bbf8a0.zip
Auto merge of #115694 - clarfonthey:std-hash-private, r=dtolnay
Add `std::hash::{DefaultHasher, RandomState}` exports (needs FCP)

This implements rust-lang/libs-team#267 to move the libstd hasher types to `std::hash` where they belong, instead of `std::collections::hash_map`.

<details><summary>The below no longer applies, but is kept for clarity.</summary>
This is a small refactor for #27242, which moves the definitions of `RandomState` and `DefaultHasher` into `std::hash`, but in a way that won't be noticed in the public API.

I've opened rust-lang/libs-team#267 as a formal ACP to move these directly into the root of `std::hash`, but for now, they're at least separated out from the collections code in a way that will make moving that around easier.

I decided to simply copy the rustdoc for `std::hash` from `core::hash` since I think it would be ideal for the two to diverge longer-term, especially if the ACP is accepted. However, I would be willing to factor them out into a common markdown document if that's preferred.
</details>
Diffstat (limited to 'library/alloc/src')
-rw-r--r--library/alloc/src/lib.rs2
-rw-r--r--library/alloc/src/vec/mod.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/library/alloc/src/lib.rs b/library/alloc/src/lib.rs
index d33c4418e1b..f07c76232eb 100644
--- a/library/alloc/src/lib.rs
+++ b/library/alloc/src/lib.rs
@@ -270,7 +270,7 @@ pub(crate) mod test_helpers {
     /// seed not being the same for every RNG invocation too.
     pub(crate) fn test_rng() -> rand_xorshift::XorShiftRng {
         use std::hash::{BuildHasher, Hash, Hasher};
-        let mut hasher = std::collections::hash_map::RandomState::new().build_hasher();
+        let mut hasher = std::hash::RandomState::new().build_hasher();
         std::panic::Location::caller().hash(&mut hasher);
         let hc64 = hasher.finish();
         let seed_vec =
diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs
index 6c78d65f1c9..ea7d6f6f4a6 100644
--- a/library/alloc/src/vec/mod.rs
+++ b/library/alloc/src/vec/mod.rs
@@ -2706,7 +2706,7 @@ impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A> {
 /// ```
 /// use std::hash::BuildHasher;
 ///
-/// let b = std::collections::hash_map::RandomState::new();
+/// let b = std::hash::RandomState::new();
 /// let v: Vec<u8> = vec![0xa8, 0x3c, 0x09];
 /// let s: &[u8] = &[0xa8, 0x3c, 0x09];
 /// assert_eq!(b.hash_one(v), b.hash_one(s));