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}