Simplify iterator logic for Fuse

This commit is contained in:
Corey Farwell 2015-04-09 08:59:48 -07:00
parent 6790b0e519
commit 5c80b7aabb
1 changed files with 6 additions and 14 deletions

View File

@ -2197,13 +2197,9 @@ impl<I> Iterator for Fuse<I> where I: Iterator {
if self.done {
None
} else {
match self.iter.next() {
None => {
self.done = true;
None
}
x => x
}
let next = self.iter.next();
self.done = next.is_none();
next
}
}
@ -2224,13 +2220,9 @@ impl<I> DoubleEndedIterator for Fuse<I> where I: DoubleEndedIterator {
if self.done {
None
} else {
match self.iter.next_back() {
None => {
self.done = true;
None
}
x => x
}
let next = self.iter.next_back();
self.done = next.is_none();
next
}
}
}