Fingerprint

Trait Fingerprint 

Source
pub trait Fingerprint {
    // Required method
    fn fingerprint<U: Update>(&self, hasher: &mut U);
}
Expand description

A data structure whose cryptographic hash can be computed by a hasher.

Implementations are provided for common std types, such as primitives, strings, collections and smart pointers. Custom implementations can be easily written manually, or derived automatically using #[derive(Fingerprint)].

Required Methods§

Source

fn fingerprint<U: Update>(&self, hasher: &mut U)

Use this value to update a hasher.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Fingerprint for IpAddr

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for SocketAddr

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for bool

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for char

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for f32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for f64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for i8

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for i16

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for i32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for i64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for i128

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for isize

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for str

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for u8

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for u16

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for u32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for u64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for u128

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for ()

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for usize

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for CString

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for String

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for CStr

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for Ipv4Addr

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for Ipv6Addr

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for SocketAddrV4

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for SocketAddrV6

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicBool

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicI8

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicI16

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicI32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicI64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicIsize

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicU8

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicU16

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicU32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicU64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for AtomicUsize

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for Duration

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroI8

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroI16

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroI32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroI64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroI128

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroIsize

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroU8

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroU16

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroU32

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroU64

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroU128

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl Fingerprint for NonZeroUsize

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<'a, T: Fingerprint + Clone> Fingerprint for Cow<'a, T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<K: Fingerprint + Ord + Eq + Hash, V: Fingerprint> Fingerprint for HashMap<K, V>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<K: Fingerprint + Ord, V: Fingerprint> Fingerprint for BTreeMap<K, V>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint> Fingerprint for (T0,)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint> Fingerprint for (T0, T1)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint> Fingerprint for (T0, T1, T2)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint> Fingerprint for (T0, T1, T2, T3)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint, T10: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint, T10: Fingerprint, T11: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint, T10: Fingerprint, T11: Fingerprint, T12: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint, T10: Fingerprint, T11: Fingerprint, T12: Fingerprint, T13: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint, T10: Fingerprint, T11: Fingerprint, T12: Fingerprint, T13: Fingerprint, T14: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T0: Fingerprint, T1: Fingerprint, T2: Fingerprint, T3: Fingerprint, T4: Fingerprint, T5: Fingerprint, T6: Fingerprint, T7: Fingerprint, T8: Fingerprint, T9: Fingerprint, T10: Fingerprint, T11: Fingerprint, T12: Fingerprint, T13: Fingerprint, T14: Fingerprint, T15: Fingerprint> Fingerprint for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + Ord + Eq + Hash> Fingerprint for HashSet<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + Ord> Fingerprint for BinaryHeap<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + Ord> Fingerprint for BTreeSet<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + Copy> Fingerprint for Cell<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + ?Sized> Fingerprint for &T

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + ?Sized> Fingerprint for &mut T

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + ?Sized> Fingerprint for Box<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + ?Sized> Fingerprint for Rc<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint + ?Sized> Fingerprint for Arc<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for Bound<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for Option<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for [T]

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for LinkedList<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for VecDeque<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for Vec<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for Reverse<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for Wrapping<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for Range<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint> Fingerprint for RangeInclusive<T>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint, E: Fingerprint> Fingerprint for Result<T, E>

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: Fingerprint, const N: usize> Fingerprint for [T; N]

Source§

fn fingerprint<U: Update>(&self, hasher: &mut U)

Source§

impl<T: ?Sized> Fingerprint for PhantomData<T>

Source§

fn fingerprint<U: Update>(&self, _hasher: &mut U)

Implementors§