Skip to main content

ListHashes

Trait ListHashes 

Source
pub trait ListHashes {
    // Provided methods
    fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash))) { ... }
    fn topology_hash(&self) -> Hash { ... }
    fn point_count(&self) -> usize { ... }
}
Expand description

Semantically part of Topological but decoupled for simpler recursive bounds.

Provided Methods§

Source

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

[Hash]-only part of Topological::traverse.

Source

fn topology_hash(&self) -> Hash

[Hash] of all [Hash]es the object refers to other objects by.

Source

fn point_count(&self) -> usize

How many others this object refers to.

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 ListHashes for ()

Source§

impl ListHashes for Bytes

Available on crate feature bytes only.
Source§

impl ListHashes for BytesMut

Available on crate feature bytes only.
Source§

impl ListHashes for CStr

Source§

impl ListHashes for CString

Source§

impl ListHashes for Infallible

Source§

impl ListHashes for NonZero<i8>

Source§

impl ListHashes for NonZero<i16>

Source§

impl ListHashes for NonZero<i32>

Source§

impl ListHashes for NonZero<i64>

Source§

impl ListHashes for NonZero<i128>

Source§

impl ListHashes for NonZero<u8>

Source§

impl ListHashes for NonZero<u16>

Source§

impl ListHashes for NonZero<u32>

Source§

impl ListHashes for NonZero<u64>

Source§

impl ListHashes for NonZero<u128>

Source§

impl ListHashes for Ordering

Source§

impl ListHashes for String

Source§

impl ListHashes for Ulid

Available on crate feature ulid only.
Source§

impl ListHashes for bool

Source§

impl ListHashes for char

Source§

impl ListHashes for f32

Source§

impl ListHashes for f64

Source§

impl ListHashes for i8

Source§

impl ListHashes for i16

Source§

impl ListHashes for i32

Source§

impl ListHashes for i64

Source§

impl ListHashes for i128

Source§

impl ListHashes for str

Source§

impl ListHashes for u8

Source§

impl ListHashes for u16

Source§

impl ListHashes for u32

Source§

impl ListHashes for u64

Source§

impl ListHashes for u128

Source§

impl<'a, B: 'a + ToOwned + ListHashes + ?Sized> ListHashes for Cow<'a, B>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

fn topology_hash(&self) -> Hash

Source§

fn point_count(&self) -> usize

Source§

impl<A, O: BitOrder> ListHashes for BitArray<A, O>

Available on crate feature bitvec only.
Source§

fn list_hashes(&self, visitor: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes, H: ListHashes, I: ListHashes, J: ListHashes, K: ListHashes, L: ListHashes> ListHashes for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes, H: ListHashes, I: ListHashes, J: ListHashes, K: ListHashes> ListHashes for (A, B, C, D, E, F, G, H, I, J, K)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes, H: ListHashes, I: ListHashes, J: ListHashes> ListHashes for (A, B, C, D, E, F, G, H, I, J)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes, H: ListHashes, I: ListHashes> ListHashes for (A, B, C, D, E, F, G, H, I)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes, H: ListHashes> ListHashes for (A, B, C, D, E, F, G, H)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes> ListHashes for (A, B, C, D, E, F, G)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes> ListHashes for (A, B, C, D, E, F)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes> ListHashes for (A, B, C, D, E)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes> ListHashes for (A, B, C, D)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes, C: ListHashes> ListHashes for (A, B, C)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<A: ListHashes, B: ListHashes> ListHashes for (A, B)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<K: ListHashes, V: ListHashes> ListHashes for BTreeMap<K, V>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<K: ListHashes, V: ListHashes> ListHashes for IndexMap<K, V>

Available on crate feature indexmap only.
Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

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

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

fn topology_hash(&self) -> Hash

Source§

fn point_count(&self) -> usize

Source§

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

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

fn topology_hash(&self) -> Hash

Source§

fn point_count(&self) -> usize

Source§

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

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

fn topology_hash(&self) -> Hash

Source§

fn point_count(&self) -> usize

Source§

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

Source§

impl<T: ListHashes, N: ArrayLength> ListHashes for GenericArray<T, N>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

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

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T: ListHashes> ListHashes for (T,)

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

fn topology_hash(&self) -> Hash

Source§

fn point_count(&self) -> usize

Source§

impl<T: ListHashes> ListHashes for BTreeSet<T>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T: ListHashes> ListHashes for IndexSet<T>

Available on crate feature indexmap only.
Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T: ListHashes> ListHashes for Option<T>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T: ListHashes> ListHashes for Vec<T>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T: ListHashes> ListHashes for VecDeque<T>

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T: ListHashes> ListHashes for [T]

Source§

fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))

Source§

impl<T> ListHashes for dyn Send + Sync + ExtraFor<T>

Source§

impl<const S: usize> ListHashes for CidGeneric<S>

Available on crate feature cid only.

We can’t directly interpret this as our pointers, treating Cid as just data.

Implementors§

Source§

impl ListHashes for Address

Source§

impl ListHashes for AddressedBytes

Source§

impl ListHashes for Be<NonZero<i8>>

Source§

impl ListHashes for Be<NonZero<i16>>

Source§

impl ListHashes for Be<NonZero<i32>>

Source§

impl ListHashes for Be<NonZero<i64>>

Source§

impl ListHashes for Be<NonZero<i128>>

Source§

impl ListHashes for Be<NonZero<u8>>

Source§

impl ListHashes for Be<NonZero<u16>>

Source§

impl ListHashes for Be<NonZero<u32>>

Source§

impl ListHashes for Be<NonZero<u64>>

Source§

impl ListHashes for Be<NonZero<u128>>

Source§

impl ListHashes for Be<f32>

Source§

impl ListHashes for Be<f64>

Source§

impl ListHashes for Be<i8>

Source§

impl ListHashes for Be<i16>

Source§

impl ListHashes for Be<i32>

Source§

impl ListHashes for Be<i64>

Source§

impl ListHashes for Be<i128>

Source§

impl ListHashes for Be<u8>

Source§

impl ListHashes for Be<u16>

Source§

impl ListHashes for Be<u32>

Source§

impl ListHashes for Be<u64>

Source§

impl ListHashes for Be<u128>

Source§

impl ListHashes for Ff

Source§

impl ListHashes for Hash

Source§

impl ListHashes for Le<NonZero<i8>>

Source§

impl ListHashes for Le<NonZero<i16>>

Source§

impl ListHashes for Le<NonZero<i32>>

Source§

impl ListHashes for Le<NonZero<i64>>

Source§

impl ListHashes for Le<NonZero<i128>>

Source§

impl ListHashes for Le<NonZero<u8>>

Source§

impl ListHashes for Le<NonZero<u16>>

Source§

impl ListHashes for Le<NonZero<u32>>

Source§

impl ListHashes for Le<NonZero<u64>>

Source§

impl ListHashes for Le<NonZero<u128>>

Source§

impl ListHashes for Le<f32>

Source§

impl ListHashes for Le<f64>

Source§

impl ListHashes for Le<i8>

Source§

impl ListHashes for Le<i16>

Source§

impl ListHashes for Le<i32>

Source§

impl ListHashes for Le<i64>

Source§

impl ListHashes for Le<i128>

Source§

impl ListHashes for Le<u8>

Source§

impl ListHashes for Le<u16>

Source§

impl ListHashes for Le<u32>

Source§

impl ListHashes for Le<u64>

Source§

impl ListHashes for Le<u128>

Source§

impl ListHashes for LpBytes

Source§

impl ListHashes for LpString

Source§

impl ListHashes for NicheCut

Source§

impl ListHashes for OptionalHash

Source§

impl ListHashes for U63

Source§

impl ListHashes for dyn Resolve + '_

Source§

impl ListHashes for dyn Singular + '_

Source§

impl<A, B> ListHashes for DefaultChain<A, B>
where A: ListHashes, B: ListHashes,

Source§

impl<A, B> ListHashes for TupleOfArrays<A, B>
where A: ListHashes, B: ListHashes,

Source§

impl<Extra> ListHashes for Extras<Extra>

Source§

impl<Extra> ListHashes for InlineExtra<Extra>
where Extra: ListHashes,

Source§

impl<F> ListHashes for FetchExtra<F>
where F: ListHashes,

Source§

impl<K> ListHashes for PartialByteTag<K>

Source§

impl<M> ListHashes for SmExtra<M>

Source§

impl<T, A> ListHashes for Dt<T, A>
where for<'a> &'a T: IntoIterator<Item: ListHashes>,

Source§

impl<T, E> ListHashes for Ent<T, E>
where Extras<E>: ListHashes, Nt<T>: ListHashes,

Source§

impl<T, E> ListHashes for ExtraArray<T, E>

Source§

impl<T, E> ListHashes for ExtraOption<T, E>

Source§

impl<T, Extra> ListHashes for Addressed<T, Extra>

Source§

impl<T, M> ListHashes for MappedExtra<T, M>
where M: ListHashes, T: ListHashes,

Source§

impl<T, const MAX: usize> ListHashes for EnumTag<T, MAX>
where T: ListHashes,

Source§

impl<T: ?Sized> ListHashes for ObjectMarker<T>
where PhantomData<fn() -> T>: ListHashes,

Source§

impl<T> ListHashes for AssertRefless<T>

Source§

impl<T> ListHashes for Local<T>
where T: ListHashes,

Source§

impl<T> ListHashes for Lp<T>
where T: ListHashes,

Source§

impl<T> ListHashes for LpVec<T>
where Vec<T>: ListHashes,

Source§

impl<T> ListHashes for Nt<T>
where for<'a> &'a T: IntoIterator<Item: ListHashes>,

Source§

impl<T> ListHashes for NtString<T>

Source§

impl<T> ListHashes for ParseExtra<T>
where T: ListHashes,

Source§

impl<T> ListHashes for RuntimeArray<T>
where Vec<T>: ListHashes,

Source§

impl<T> ListHashes for Sequence<T>
where for<'a> &'a T: IntoIterator<Item: ListHashes>,

Source§

impl<T> ListHashes for WithRepr<T>
where T: ListHashes,

Source§

impl<T> ListHashes for Zt<T>
where Arc<WithRepr<T>>: ListHashes,

Source§

impl<T> ListHashes for dyn SingularFetch<T = T> + '_