aboutsummaryrefslogtreecommitdiff
path: root/src/put_back_n_impl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/put_back_n_impl.rs')
-rw-r--r--src/put_back_n_impl.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/put_back_n_impl.rs b/src/put_back_n_impl.rs
index dcb2894..60ea8e6 100644
--- a/src/put_back_n_impl.rs
+++ b/src/put_back_n_impl.rs
@@ -1,3 +1,5 @@
+use alloc::vec::Vec;
+
use crate::size_hint;
/// An iterator adaptor that allows putting multiple
@@ -47,12 +49,8 @@ impl<I: Iterator> PutBackN<I> {
impl<I: Iterator> Iterator for PutBackN<I> {
type Item = I::Item;
#[inline]
- fn next(&mut self) -> Option<I::Item> {
- if self.top.is_empty() {
- self.iter.next()
- } else {
- self.top.pop()
- }
+ fn next(&mut self) -> Option<Self::Item> {
+ self.top.pop().or_else(|| self.iter.next())
}
#[inline]