1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#[derive(Default,Debug,Eq,PartialEq)] pub struct NilIter<T>(std::marker::PhantomData<Option<T>>); impl<T> Iterator for NilIter<T> { type Item = T; fn next(&mut self) -> Option<T> { None } } #[cfg(test)] mod tests { use super::*; #[test] fn silly() { assert_eq!(NilIter::<u8>::default(), NilIter::<u8>::default()); } }