ref_wrapper/
impl_iterator.rs

1//! [`Iterator`] implementations for [`RefWrap`] and [`RefWrapMut`].
2
3use crate::{RefWrap, RefWrapMut};
4use core::ops::DerefMut;
5
6impl<'a, I, T> Iterator for RefWrap<'a, I>
7where
8    I: Iterator<Item = T> + 'a,
9{
10    type Item = T;
11
12    fn next(&mut self) -> Option<Self::Item> {
13        self.deref_mut().next()
14    }
15}
16
17impl<'a, I, T> Iterator for RefWrapMut<'a, I>
18where
19    I: Iterator<Item = T> + 'a,
20{
21    type Item = T;
22
23    fn next(&mut self) -> Option<Self::Item> {
24        self.deref_mut().next()
25    }
26}