]> git.lizzy.rs Git - rust.git/commitdiff
Simplify implementation of Bitv::{all,none} using iter builtins.
authorYuri Kunde Schlesner <yuriks@yuriks.net>
Thu, 17 Apr 2014 08:21:18 +0000 (05:21 -0300)
committerYuri Kunde Schlesner <yuriks@yuriks.net>
Thu, 17 Apr 2014 08:21:18 +0000 (05:21 -0300)
src/libcollections/bitv.rs

index 08d3378b54826f5df8dcc2b7470af01625f978b9..1f53f5c33ff2b6aef453b330117874e52cad4af1 100644 (file)
@@ -415,10 +415,7 @@ pub fn difference(&mut self, v: &Bitv) -> bool {
     pub fn all(&self) -> bool {
       match self.rep {
         Small(ref b) => b.all(self.nbits),
-        _ => {
-          for i in self.iter() { if !i { return false; } }
-          true
-        }
+        _ => self.iter().all(|x| x)
       }
     }
 
@@ -436,10 +433,7 @@ pub fn rev_iter<'a>(&'a self) -> Rev<Bits<'a>> {
     pub fn none(&self) -> bool {
       match self.rep {
         Small(ref b) => b.none(self.nbits),
-        Big(_) => {
-          for i in self.iter() { if i { return false; } }
-          true
-        }
+        _ => self.iter().all(|x| !x)
       }
     }