1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
mod iter; mod flat_map; mod flat_scan; mod compose; pub use compose::*; pub use iter::*; pub use flat_map::*; pub use flat_scan::*; pub trait Generator { type Yield; type Return; fn resume(&mut self) -> GeneratorState<Self::Yield, Self::Return>; } pub enum GeneratorState<Y, R> { Yielded(Y), Completed(R), }