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§
Sourcefn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
[Hash]-only part of Topological::traverse.
Sourcefn topology_hash(&self) -> Hash
fn topology_hash(&self) -> Hash
[Hash] of all [Hash]es the object refers to other objects by.
Sourcefn point_count(&self) -> usize
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§
impl ListHashes for ()
impl ListHashes for Bytes
Available on crate feature
bytes only.impl ListHashes for BytesMut
Available on crate feature
bytes only.impl ListHashes for CStr
impl ListHashes for CString
impl ListHashes for Infallible
impl ListHashes for NonZero<i8>
impl ListHashes for NonZero<i16>
impl ListHashes for NonZero<i32>
impl ListHashes for NonZero<i64>
impl ListHashes for NonZero<i128>
impl ListHashes for NonZero<u8>
impl ListHashes for NonZero<u16>
impl ListHashes for NonZero<u32>
impl ListHashes for NonZero<u64>
impl ListHashes for NonZero<u128>
impl ListHashes for Ordering
impl ListHashes for String
impl ListHashes for Ulid
Available on crate feature
ulid only.impl ListHashes for bool
impl ListHashes for char
impl ListHashes for f32
impl ListHashes for f64
impl ListHashes for i8
impl ListHashes for i16
impl ListHashes for i32
impl ListHashes for i64
impl ListHashes for i128
impl ListHashes for str
impl ListHashes for u8
impl ListHashes for u16
impl ListHashes for u32
impl ListHashes for u64
impl ListHashes for u128
Source§impl<'a, B: 'a + ToOwned + ListHashes + ?Sized> ListHashes for Cow<'a, B>
impl<'a, B: 'a + ToOwned + ListHashes + ?Sized> ListHashes for Cow<'a, B>
fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
fn topology_hash(&self) -> Hash
fn point_count(&self) -> usize
Source§impl<A, O: BitOrder> ListHashes for BitArray<A, O>
Available on crate feature bitvec only.
impl<A, O: BitOrder> ListHashes for BitArray<A, O>
Available on crate feature
bitvec only.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)
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§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)
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§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)
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§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)
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§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)
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§impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes, G: ListHashes> ListHashes for (A, B, C, D, E, F, G)
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§impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes> ListHashes for (A, B, C, D, E, F)
impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes, F: ListHashes> ListHashes for (A, B, C, D, E, F)
Source§impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes> ListHashes for (A, B, C, D, E)
impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes, E: ListHashes> ListHashes for (A, B, C, D, E)
Source§impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes> ListHashes for (A, B, C, D)
impl<A: ListHashes, B: ListHashes, C: ListHashes, D: ListHashes> ListHashes for (A, B, C, D)
Source§impl<A: ListHashes, B: ListHashes, C: ListHashes> ListHashes for (A, B, C)
impl<A: ListHashes, B: ListHashes, C: ListHashes> ListHashes for (A, B, C)
Source§impl<A: ListHashes, B: ListHashes> ListHashes for (A, B)
impl<A: ListHashes, B: ListHashes> ListHashes for (A, B)
Source§impl<K: ListHashes, V: ListHashes> ListHashes for BTreeMap<K, V>
impl<K: ListHashes, V: ListHashes> ListHashes for BTreeMap<K, V>
Source§impl<K: ListHashes, V: ListHashes> ListHashes for IndexMap<K, V>
Available on crate feature indexmap only.
impl<K: ListHashes, V: ListHashes> ListHashes for IndexMap<K, V>
Available on crate feature
indexmap only.Source§impl<T: ?Sized + ListHashes> ListHashes for &T
impl<T: ?Sized + ListHashes> ListHashes for &T
fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
fn topology_hash(&self) -> Hash
fn point_count(&self) -> usize
Source§impl<T: ?Sized + ListHashes> ListHashes for Arc<T>
impl<T: ?Sized + ListHashes> ListHashes for Arc<T>
fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
fn topology_hash(&self) -> Hash
fn point_count(&self) -> usize
Source§impl<T: ?Sized + ListHashes> ListHashes for Box<T>
impl<T: ?Sized + ListHashes> ListHashes for Box<T>
fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
fn topology_hash(&self) -> Hash
fn point_count(&self) -> usize
impl<T: ?Sized> ListHashes for PhantomData<T>
Source§impl<T: ListHashes, N: ArrayLength> ListHashes for GenericArray<T, N>
impl<T: ListHashes, N: ArrayLength> ListHashes for GenericArray<T, N>
Source§impl<T: ListHashes, const N: usize> ListHashes for [T; N]
impl<T: ListHashes, const N: usize> ListHashes for [T; N]
Source§impl<T: ListHashes> ListHashes for (T,)
impl<T: ListHashes> ListHashes for (T,)
fn list_hashes(&self, f: &mut (impl ?Sized + FnMut(Hash)))
fn topology_hash(&self) -> Hash
fn point_count(&self) -> usize
Source§impl<T: ListHashes> ListHashes for BTreeSet<T>
impl<T: ListHashes> ListHashes for BTreeSet<T>
Source§impl<T: ListHashes> ListHashes for IndexSet<T>
Available on crate feature indexmap only.
impl<T: ListHashes> ListHashes for IndexSet<T>
Available on crate feature
indexmap only.Source§impl<T: ListHashes> ListHashes for Option<T>
impl<T: ListHashes> ListHashes for Option<T>
Source§impl<T: ListHashes> ListHashes for Vec<T>
impl<T: ListHashes> ListHashes for Vec<T>
Source§impl<T: ListHashes> ListHashes for VecDeque<T>
impl<T: ListHashes> ListHashes for VecDeque<T>
Source§impl<T: ListHashes> ListHashes for [T]
impl<T: ListHashes> ListHashes for [T]
impl<T> ListHashes for dyn Send + Sync + ExtraFor<T>
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.