Auto merge of #115694 - clarfonthey:std-hash-private, r=dtolnay
Add `std:#️⃣:{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>
This commit is contained in:
commit
2c1b65ee14
27 changed files with 308 additions and 232 deletions
|
@ -494,8 +494,6 @@ pub use core::convert;
|
|||
pub use core::default;
|
||||
#[stable(feature = "futures_api", since = "1.36.0")]
|
||||
pub use core::future;
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub use core::hash;
|
||||
#[stable(feature = "core_hint", since = "1.27.0")]
|
||||
pub use core::hint;
|
||||
#[stable(feature = "i128", since = "1.26.0")]
|
||||
|
@ -565,6 +563,7 @@ pub mod env;
|
|||
pub mod error;
|
||||
pub mod ffi;
|
||||
pub mod fs;
|
||||
pub mod hash;
|
||||
pub mod io;
|
||||
pub mod net;
|
||||
pub mod num;
|
||||
|
@ -716,7 +715,7 @@ pub(crate) mod test_helpers {
|
|||
#[track_caller]
|
||||
pub(crate) fn test_rng() -> rand_xorshift::XorShiftRng {
|
||||
use core::hash::{BuildHasher, Hash, Hasher};
|
||||
let mut hasher = crate::collections::hash_map::RandomState::new().build_hasher();
|
||||
let mut hasher = crate::hash::RandomState::new().build_hasher();
|
||||
core::panic::Location::caller().hash(&mut hasher);
|
||||
let hc64 = hasher.finish();
|
||||
let seed_vec = hc64.to_le_bytes().into_iter().chain(0u8..8).collect::<Vec<u8>>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue