pub struct SeenHashes<L: TrieLayout> { /* private fields */ }Expand description
Hashes of items already emitted by encode_compact_skip_duplicates, so later occurrences
keep a plain hash reference instead of being emitted again.
Node and value hashes are kept in separate namespaces: skipping a node drops its whole subtree and is only sound once that subtree was emitted, which a value can never guarantee. A shared set would let a value equal to a node’s encoding trigger the skip and drop the subtree.
Trait Implementations§
Source§impl<L: TrieLayout> Clone for SeenHashes<L>
impl<L: TrieLayout> Clone for SeenHashes<L>
Source§impl<L: TrieLayout> Default for SeenHashes<L>
impl<L: TrieLayout> Default for SeenHashes<L>
Auto Trait Implementations§
impl<L> Freeze for SeenHashes<L>
impl<L> RefUnwindSafe for SeenHashes<L>
impl<L> Send for SeenHashes<L>
impl<L> Sync for SeenHashes<L>
impl<L> Unpin for SeenHashes<L>
impl<L> UnsafeUnpin for SeenHashes<L>
impl<L> UnwindSafe for SeenHashes<L>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more