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