1 2 3 4 5 6 7 8 9
pub(crate) trait CurriedItem<'a> { type Item; } pub(crate) trait LendingIterator { type Item: ?Sized + for<'a> CurriedItem<'a>; fn next(&mut self) -> Option<<Self::Item as CurriedItem<'_>>::Item>; }