diff options
Diffstat (limited to 'src/multipeek_impl.rs')
-rw-r--r-- | src/multipeek_impl.rs | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/multipeek_impl.rs b/src/multipeek_impl.rs index 0b64e1d..986e5b4 100644 --- a/src/multipeek_impl.rs +++ b/src/multipeek_impl.rs @@ -1,5 +1,5 @@ use std::iter::Fuse; -use std::collections::VecDeque; +use alloc::collections::VecDeque; use crate::size_hint; use crate::PeekingNext; @@ -80,13 +80,9 @@ impl<I> Iterator for MultiPeek<I> { type Item = I::Item; - fn next(&mut self) -> Option<I::Item> { + fn next(&mut self) -> Option<Self::Item> { self.index = 0; - if self.buf.is_empty() { - self.iter.next() - } else { - self.buf.pop_front() - } + self.buf.pop_front().or_else(|| self.iter.next()) } fn size_hint(&self) -> (usize, Option<usize>) { |