Add hash_new_rand(), mark Hash::new_rand() as deprecated

This commit is contained in:
Michael Vines
2020-10-19 11:27:59 -07:00
parent 0e68ed6a8d
commit 76f11c7dae

View File

@ -76,6 +76,17 @@ impl FromStr for Hash {
} }
} }
/// New random hash value for tests and benchmarks.
#[cfg(feature = "everything")]
pub fn new_rand<R: ?Sized>(rng: &mut R) -> Hash
where
R: rand::Rng,
{
let mut buf = [0u8; HASH_BYTES];
rng.fill(&mut buf);
Hash::new(&buf)
}
impl Hash { impl Hash {
pub fn new(hash_slice: &[u8]) -> Self { pub fn new(hash_slice: &[u8]) -> Self {
Hash(<[u8; HASH_BYTES]>::try_from(hash_slice).unwrap()) Hash(<[u8; HASH_BYTES]>::try_from(hash_slice).unwrap())
@ -90,14 +101,13 @@ impl Hash {
} }
/// New random hash value for tests and benchmarks. /// New random hash value for tests and benchmarks.
#[cfg(feature = "everything")] #[cfg(all(feature = "everything", not(target_arch = "bpf")))]
#[deprecated(since = "1.3.9", note = "Please use 'hash::new_rand' instead")]
pub fn new_rand<R: ?Sized>(rng: &mut R) -> Self pub fn new_rand<R: ?Sized>(rng: &mut R) -> Self
where where
R: rand::Rng, R: rand::Rng,
{ {
let mut buf = [0u8; HASH_BYTES]; new_rand(rng)
rng.fill(&mut buf);
Hash::new(&buf)
} }
} }