about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2015-04-09 08:59:48 -0700
committerCorey Farwell <coreyf@rwell.org>2015-04-11 22:40:47 -0700
commit5c80b7aabbbcd140dfefee745a8bad41262ac753 (patch)
tree8ad1b9d5415a716c9f27d9cc163cdd349fe0cd17 /src/libcore
parent6790b0e51967b1487728d155e0800a1ed03a30d3 (diff)
downloadrust-5c80b7aabbbcd140dfefee745a8bad41262ac753.tar.gz
rust-5c80b7aabbbcd140dfefee745a8bad41262ac753.zip
Simplify iterator logic for Fuse
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/iter.rs20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs
index 527a7297f85..9f378748d20 100644
--- a/src/libcore/iter.rs
+++ b/src/libcore/iter.rs
@@ -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
         }
     }
 }