2023-09-22 17:27:06 -07:00
|
|
|
pub trait MyTrait {
|
|
|
|
|
type Item;
|
|
|
|
|
fn next(&mut self) -> Option<Self::Item>;
|
|
|
|
|
}
|
2025-09-21 16:42:12 -05:00
|
|
|
|
|
|
|
|
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(())
|
|
|
|
|
}
|
|
|
|
|
}
|