Fix FlattenCompat::{next, next_back}

This commit is contained in:
Tim Vermeulen
2020-02-06 05:58:04 +01:00
parent 16a23e72d0
commit cff1182bcd
+6 -4
View File
@@ -264,8 +264,9 @@ impl<I, U> Iterator for FlattenCompat<I, U>
fn next(&mut self) -> Option<U::Item> {
loop {
if let Some(ref mut inner) = self.frontiter {
if let elt @ Some(_) = inner.next() {
return elt;
match inner.next() {
None => self.frontiter = None,
elt @ Some(_) => return elt,
}
}
match self.iter.next() {
@@ -351,8 +352,9 @@ impl<I, U> DoubleEndedIterator for FlattenCompat<I, U>
fn next_back(&mut self) -> Option<U::Item> {
loop {
if let Some(ref mut inner) = self.backiter {
if let elt @ Some(_) = inner.next_back() {
return elt;
match inner.next_back() {
None => self.backiter = None,
elt @ Some(_) => return elt,
}
}
match self.iter.next_back() {