blob: a741b361a3392efe265aca5524a79202043dd7aa [file] [log] [blame]
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(())
}
}