diff options
| -rw-r--r-- | library/core/src/hash/mod.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/library/core/src/hash/mod.rs b/library/core/src/hash/mod.rs index ef0793a3e46..1c93a7b28fd 100644 --- a/library/core/src/hash/mod.rs +++ b/library/core/src/hash/mod.rs @@ -752,6 +752,18 @@ pub trait BuildHasher { #[stable(since = "1.7.0", feature = "build_hasher")] pub struct BuildHasherDefault<H>(marker::PhantomData<fn() -> H>); +impl<H> BuildHasherDefault<H> { + /// Creates a new BuildHasherDefault for Hasher `H`. + #[unstable( + feature = "build_hasher_default_const_new", + issue = "123197", + reason = "recently added" + )] + pub const fn new() -> Self { + BuildHasherDefault(marker::PhantomData) + } +} + #[stable(since = "1.9.0", feature = "core_impl_debug")] impl<H> fmt::Debug for BuildHasherDefault<H> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -778,7 +790,7 @@ impl<H> Clone for BuildHasherDefault<H> { #[stable(since = "1.7.0", feature = "build_hasher")] impl<H> Default for BuildHasherDefault<H> { fn default() -> BuildHasherDefault<H> { - BuildHasherDefault(marker::PhantomData) + Self::new() } } |
