1 2 3 4 5 6 7 8 9 10 11 12 13 14
use super::*; pub trait Fold: ListFn { fn fold(mut self) -> Self::End { loop { match self.next() { ListState::Some(some) => self = some.next, ListState::End(end) => return end, } } } } impl<S: ListFn> Fold for S {}