#[allow(unused_imports)]
use announce::announce;
#[announce(mock = ::core::hash::Hash)]
pub trait Hash {
fn hash<H>(&self, state: &mut H)
where
H: ::core::hash::Hasher;
}
#[cfg(not(announce_std_rust_1_94))]
pub trait Hash: ::core::hash::Hash {}
#[cfg(not(announce_std_rust_1_94))]
impl<__T: ?::core::marker::Sized + ::core::hash::Hash> Hash for __T {}
#[announce(mock = ::core::hash::Hasher)]
pub trait Hasher {
fn finish(&self) -> ::core::primitive::u64;
fn write(&mut self, bytes: &[::core::primitive::u8]);
fn write_u8(&mut self, i: ::core::primitive::u8) {
::core::unimplemented!()
}
fn write_u16(&mut self, i: ::core::primitive::u16) {
::core::unimplemented!()
}
fn write_u32(&mut self, i: ::core::primitive::u32) {
::core::unimplemented!()
}
fn write_u64(&mut self, i: ::core::primitive::u64) {
::core::unimplemented!()
}
fn write_u128(&mut self, i: ::core::primitive::u128) {
::core::unimplemented!()
}
fn write_usize(&mut self, i: ::core::primitive::usize) {
::core::unimplemented!()
}
fn write_i8(&mut self, i: ::core::primitive::i8) {
::core::unimplemented!()
}
fn write_i16(&mut self, i: ::core::primitive::i16) {
::core::unimplemented!()
}
fn write_i32(&mut self, i: ::core::primitive::i32) {
::core::unimplemented!()
}
fn write_i64(&mut self, i: ::core::primitive::i64) {
::core::unimplemented!()
}
fn write_i128(&mut self, i: ::core::primitive::i128) {
::core::unimplemented!()
}
fn write_isize(&mut self, i: ::core::primitive::isize) {
::core::unimplemented!()
}
}
#[doc(no_inline)]
pub use ::core::hash::Hasher;
#[announce(mock = ::core::hash::BuildHasher)]
pub trait BuildHasher {
type Hasher: ::core::hash::Hasher;
fn build_hasher(&self) -> Self::Hasher;
}
#[doc(no_inline)]
pub use ::core::hash::BuildHasher;
#[cfg(announce_std_rust_1_94)]
#[doc(hidden)]
pub mod __real {
pub use ::core::hash::Hash;
}
#[cfg(announce_std_rust_1_94)]
#[doc(no_inline)]
pub use self::__real::*;