pub trait TreeIterExt: Sealed {
fn changes_needed<FindFn, R, StateMut>(
&self,
other: TreeRefIter<'_>,
state: StateMut,
find: FindFn,
delegate: &mut R
) -> Result<(), Error>
where
FindFn: for<'b> FnMut(&oid, &'b mut Vec<u8>) -> Option<TreeRefIter<'b>>,
R: Visit,
StateMut: BorrowMut<State>;
fn traverse<StateMut, Find, V>(
&self,
state: StateMut,
find: Find,
delegate: &mut V
) -> Result<(), Error>
where
Find: for<'a> FnMut(&oid, &'a mut Vec<u8>) -> Option<TreeRefIter<'a>>,
StateMut: BorrowMut<State>,
V: Visit;
}
Use this for squeezing out the last bits of performance.