Make the deprecated unstable SipHasher24 type private.
It is still used by the deprecated *stable* `SipHasher` type.
This commit is contained in:
parent
cc34ca1c97
commit
c5f020a640
3 changed files with 13 additions and 46 deletions
|
@ -101,7 +101,7 @@ pub use self::sip::SipHasher;
|
|||
|
||||
#[unstable(feature = "sip_hash_13", issue = "34767")]
|
||||
#[allow(deprecated)]
|
||||
pub use self::sip::{SipHasher13, SipHasher24};
|
||||
pub use self::sip::SipHasher13;
|
||||
|
||||
mod sip;
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ pub struct SipHasher13 {
|
|||
#[rustc_deprecated(since = "1.13.0",
|
||||
reason = "use `std::collections::hash_map::DefaultHasher` instead")]
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct SipHasher24 {
|
||||
struct SipHasher24 {
|
||||
hasher: Hasher<Sip24Rounds>,
|
||||
}
|
||||
|
||||
|
@ -156,7 +156,9 @@ impl SipHasher {
|
|||
#[rustc_deprecated(since = "1.13.0",
|
||||
reason = "use `std::collections::hash_map::DefaultHasher` instead")]
|
||||
pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher {
|
||||
SipHasher(SipHasher24::new_with_keys(key0, key1))
|
||||
SipHasher(SipHasher24 {
|
||||
hasher: Hasher::new_with_keys(key0, key1)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,28 +184,6 @@ impl SipHasher13 {
|
|||
}
|
||||
}
|
||||
|
||||
impl SipHasher24 {
|
||||
/// Creates a new `SipHasher24` with the two initial keys set to 0.
|
||||
#[inline]
|
||||
#[unstable(feature = "sip_hash_13", issue = "34767")]
|
||||
#[rustc_deprecated(since = "1.13.0",
|
||||
reason = "use `std::collections::hash_map::DefaultHasher` instead")]
|
||||
pub fn new() -> SipHasher24 {
|
||||
SipHasher24::new_with_keys(0, 0)
|
||||
}
|
||||
|
||||
/// Creates a `SipHasher24` that is keyed off the provided keys.
|
||||
#[inline]
|
||||
#[unstable(feature = "sip_hash_13", issue = "34767")]
|
||||
#[rustc_deprecated(since = "1.13.0",
|
||||
reason = "use `std::collections::hash_map::DefaultHasher` instead")]
|
||||
pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher24 {
|
||||
SipHasher24 {
|
||||
hasher: Hasher::new_with_keys(key0, key1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: Sip> Hasher<S> {
|
||||
#[inline]
|
||||
fn new_with_keys(key0: u64, key1: u64) -> Hasher<S> {
|
||||
|
@ -271,12 +251,12 @@ impl<S: Sip> Hasher<S> {
|
|||
impl super::Hasher for SipHasher {
|
||||
#[inline]
|
||||
fn write(&mut self, msg: &[u8]) {
|
||||
self.0.write(msg)
|
||||
self.0.hasher.write(msg)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn finish(&self) -> u64 {
|
||||
self.0.finish()
|
||||
self.0.hasher.finish()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -293,19 +273,6 @@ impl super::Hasher for SipHasher13 {
|
|||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "sip_hash_13", issue = "34767")]
|
||||
impl super::Hasher for SipHasher24 {
|
||||
#[inline]
|
||||
fn write(&mut self, msg: &[u8]) {
|
||||
self.hasher.write(msg)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn finish(&self) -> u64 {
|
||||
self.hasher.finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: Sip> super::Hasher for Hasher<S> {
|
||||
// see short_write comment for explanation
|
||||
#[inline]
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#![allow(deprecated)]
|
||||
|
||||
use core::hash::{Hash, Hasher};
|
||||
use core::hash::{SipHasher, SipHasher13, SipHasher24};
|
||||
use core::hash::{SipHasher, SipHasher13};
|
||||
use core::{slice, mem};
|
||||
|
||||
// Hash just the bytes of the slice, without length prefix
|
||||
|
@ -224,14 +224,14 @@ fn test_siphash_2_4() {
|
|||
let k1 = 0x_0f_0e_0d_0c_0b_0a_09_08;
|
||||
let mut buf = Vec::new();
|
||||
let mut t = 0;
|
||||
let mut state_inc = SipHasher24::new_with_keys(k0, k1);
|
||||
let mut state_inc = SipHasher::new_with_keys(k0, k1);
|
||||
|
||||
while t < 64 {
|
||||
let vec = u8to64_le!(vecs[t], 0);
|
||||
let out = hash_with(SipHasher24::new_with_keys(k0, k1), &Bytes(&buf));
|
||||
let out = hash_with(SipHasher::new_with_keys(k0, k1), &Bytes(&buf));
|
||||
assert_eq!(vec, out);
|
||||
|
||||
let full = hash_with(SipHasher24::new_with_keys(k0, k1), &Bytes(&buf));
|
||||
let full = hash_with(SipHasher::new_with_keys(k0, k1), &Bytes(&buf));
|
||||
let i = state_inc.finish();
|
||||
|
||||
assert_eq!(full, i);
|
||||
|
@ -322,13 +322,13 @@ fn test_hash_no_concat_alias() {
|
|||
#[test]
|
||||
fn test_write_short_works() {
|
||||
let test_usize = 0xd0c0b0a0usize;
|
||||
let mut h1 = SipHasher24::new();
|
||||
let mut h1 = SipHasher::new();
|
||||
h1.write_usize(test_usize);
|
||||
h1.write(b"bytes");
|
||||
h1.write(b"string");
|
||||
h1.write_u8(0xFFu8);
|
||||
h1.write_u8(0x01u8);
|
||||
let mut h2 = SipHasher24::new();
|
||||
let mut h2 = SipHasher::new();
|
||||
h2.write(unsafe {
|
||||
slice::from_raw_parts(&test_usize as *const _ as *const u8,
|
||||
mem::size_of::<usize>())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue