list_fn/
fold.rs

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 {}