| pub trait MyTrait { | |
| type Item; | |
| fn next(&mut self) -> Option<Self::Item>; | |
| } | |
| pub struct Empty; | |
| impl MyTrait for Empty { | |
| type Item = (); | |
| fn next(&mut self) -> Option<()> { | |
| None | |
| } | |
| } | |
| pub struct Void; | |
| impl MyTrait for Void { | |
| type Item = (); | |
| fn next(&mut self) -> Option<()> { | |
| Some(()) | |
| } | |
| } |