Skip to main content

Hashable

Trait Hashable 

Source
pub trait Hashable {
    // Required methods
    fn hash(&self) -> Digest;
    fn leaf_count(&self) -> usize;
    fn hashable_pair<'a>(
        &'a self,
    ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>;
}

Required Methods§

Source

fn hash(&self) -> Digest

Source

fn leaf_count(&self) -> usize

Source

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Hashable for &str

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for ()

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for String

Available on crate feature alloc only.
Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for bool

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for i32

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for u32

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for u64

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl Hashable for usize

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
where F: Hashable, G: Hashable, H: Hashable, I: Hashable, J: Hashable, K: Hashable, L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
where G: Hashable, H: Hashable, I: Hashable, J: Hashable, K: Hashable, L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<H, I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (H, I, J, K, L, M, N, O, P, Q, R, S, T)
where H: Hashable, I: Hashable, J: Hashable, K: Hashable, L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<I, J, K, L, M, N, O, P, Q, R, S, T> Hashable for (I, J, K, L, M, N, O, P, Q, R, S, T)
where I: Hashable, J: Hashable, K: Hashable, L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<J, K, L, M, N, O, P, Q, R, S, T> Hashable for (J, K, L, M, N, O, P, Q, R, S, T)
where J: Hashable, K: Hashable, L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<K, L, M, N, O, P, Q, R, S, T> Hashable for (K, L, M, N, O, P, Q, R, S, T)
where K: Hashable, L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<L, M, N, O, P, Q, R, S, T> Hashable for (L, M, N, O, P, Q, R, S, T)
where L: Hashable, M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<M, N, O, P, Q, R, S, T> Hashable for (M, N, O, P, Q, R, S, T)
where M: Hashable, N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<N, O, P, Q, R, S, T> Hashable for (N, O, P, Q, R, S, T)
where N: Hashable, O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<O, P, Q, R, S, T> Hashable for (O, P, Q, R, S, T)
where O: Hashable, P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<P, Q, R, S, T> Hashable for (P, Q, R, S, T)
where P: Hashable, Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<Q, R, S, T> Hashable for (Q, R, S, T)
where Q: Hashable, R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<R, S, T> Hashable for (R, S, T)
where R: Hashable, S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<S, T> Hashable for (S, T)
where S: Hashable, T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<T, P> Hashable for Either<T, P>
where T: Hashable, P: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<T> Hashable for &T
where T: Hashable + ?Sized,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<T> Hashable for &[T]
where T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<T> Hashable for Option<T>
where T: Hashable,

Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Source§

impl<T> Hashable for Vec<T>
where T: Hashable,

Available on crate feature alloc only.
Source§

fn hash(&self) -> Digest

Source§

fn leaf_count(&self) -> usize

Source§

fn hashable_pair<'a>( &'a self, ) -> Option<(impl Hashable + 'a, impl Hashable + 'a)>

Implementors§

Source§

impl Hashable for Belt

Source§

impl Hashable for Bignum
where FixedTas<iris_ztd::::bignum::{impl#7}::{constant#0}>: Hashable, Vec<u32>: Hashable, FixedTas<iris_ztd::::bignum::{impl#7}::{constant#1}>: Hashable, FixedTas<iris_ztd::::bignum::{impl#7}::{constant#2}>: Hashable,

Source§

impl Hashable for CheetahPoint

Source§

impl Hashable for Digest

Source§

impl Hashable for MerkleProof

Source§

impl Hashable for MerkleProvenAxis

Source§

impl Hashable for Noun

Available on crate feature alloc only.
Source§

impl Hashable for PublicKey

Source§

impl Hashable for Signature

Available on crate feature alloc only.
Source§

impl<K, V> Hashable for ZMap<K, V>
where ZBase<ZMapEntry<K, V>>: Hashable,

Source§

impl<K, V> Hashable for ZMapEntry<K, V>
where K: Hashable, V: Hashable,

Source§

impl<T, O> Hashable for HashableList<T>
where T: Deref<Target = [O]>, O: Hashable,

Available on crate feature alloc only.
Source§

impl<T> Hashable for ZSet<T>
where ZBase<ZSetEntry<T>>: Hashable,

Source§

impl<T> Hashable for ZSetEntry<T>
where T: Hashable,

Source§

impl<T> Hashable for Zeroable<T>
where T: Hashable,

Available on crate feature alloc only.
Source§

impl<const V: u32> Hashable for FixedU32<V>

Source§

impl<const V: u64> Hashable for FixedTas<V>

Source§

impl<const V: u64> Hashable for FixedU64<V>