diff options
| author | Aaron Turon <aturon@mozilla.com> | 2014-06-05 23:18:51 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-06-06 19:51:31 -0700 |
| commit | 1bde6e3fcb32ca00cf8a8dfa0977e47f7f4a77bf (patch) | |
| tree | f5b2c5f46adc3cdc83e596445cc91e5112ea68b6 /src/libcollections | |
| parent | 1bc29924dc8f88c2c118b688f25ffa7c6a212276 (diff) | |
| download | rust-1bde6e3fcb32ca00cf8a8dfa0977e47f7f4a77bf.tar.gz rust-1bde6e3fcb32ca00cf8a8dfa0977e47f7f4a77bf.zip | |
Rename Iterator::len to count
This commit carries out the request from issue #14678: > The method `Iterator::len()` is surprising, as all the other uses of > `len()` do not consume the value. `len()` would make more sense to be > called `count()`, but that would collide with the current > `Iterator::count(|T| -> bool) -> unit` method. That method, however, is > a bit redundant, and can be easily replaced with > `iter.filter(|x| x < 5).count()`. > After this change, we could then define the `len()` method > on `iter::ExactSize`. Closes #14678. [breaking-change]
Diffstat (limited to 'src/libcollections')
| -rw-r--r-- | src/libcollections/bitv.rs | 8 | ||||
| -rw-r--r-- | src/libcollections/dlist.rs | 8 | ||||
| -rw-r--r-- | src/libcollections/slice.rs | 2 | ||||
| -rw-r--r-- | src/libcollections/smallintmap.rs | 2 | ||||
| -rw-r--r-- | src/libcollections/str.rs | 34 | ||||
| -rw-r--r-- | src/libcollections/vec.rs | 14 |
6 files changed, 34 insertions, 34 deletions
diff --git a/src/libcollections/bitv.rs b/src/libcollections/bitv.rs index 11c777034fe..58f081b25e3 100644 --- a/src/libcollections/bitv.rs +++ b/src/libcollections/bitv.rs @@ -241,17 +241,17 @@ enum Op {Union, Intersect, Assign, Difference} /// bv.set(5, true); /// bv.set(7, true); /// println!("{}", bv.to_str()); -/// println!("total bits set to true: {}", bv.iter().count(|x| x)); +/// println!("total bits set to true: {}", bv.iter().filter(|x| *x).count()); /// /// // flip all values in bitvector, producing non-primes less than 10 /// bv.negate(); /// println!("{}", bv.to_str()); -/// println!("total bits set to true: {}", bv.iter().count(|x| x)); +/// println!("total bits set to true: {}", bv.iter().filter(|x| *x).count()); /// /// // reset bitvector to empty /// bv.clear(); /// println!("{}", bv.to_str()); -/// println!("total bits set to true: {}", bv.iter().count(|x| x)); +/// println!("total bits set to true: {}", bv.iter().filter(|x| *x).count()); /// ``` #[deriving(Clone)] pub struct Bitv { @@ -461,7 +461,7 @@ impl Bitv { /// bv.set(5, true); /// bv.set(8, true); /// // Count bits set to 1; result should be 5 - /// println!("{}", bv.iter().count(|x| x)); + /// println!("{}", bv.iter().filter(|x| *x).count()); /// ``` #[inline] pub fn iter<'a>(&'a self) -> Bits<'a> { diff --git a/src/libcollections/dlist.rs b/src/libcollections/dlist.rs index 8e3a49eecf3..94c617b58e8 100644 --- a/src/libcollections/dlist.rs +++ b/src/libcollections/dlist.rs @@ -1131,7 +1131,7 @@ mod tests { let v = &[0, ..128]; let m: DList<int> = v.iter().map(|&x|x).collect(); b.iter(|| { - assert!(m.iter().len() == 128); + assert!(m.iter().count() == 128); }) } #[bench] @@ -1139,7 +1139,7 @@ mod tests { let v = &[0, ..128]; let mut m: DList<int> = v.iter().map(|&x|x).collect(); b.iter(|| { - assert!(m.mut_iter().len() == 128); + assert!(m.mut_iter().count() == 128); }) } #[bench] @@ -1147,7 +1147,7 @@ mod tests { let v = &[0, ..128]; let m: DList<int> = v.iter().map(|&x|x).collect(); b.iter(|| { - assert!(m.iter().rev().len() == 128); + assert!(m.iter().rev().count() == 128); }) } #[bench] @@ -1155,7 +1155,7 @@ mod tests { let v = &[0, ..128]; let mut m: DList<int> = v.iter().map(|&x|x).collect(); b.iter(|| { - assert!(m.mut_iter().rev().len() == 128); + assert!(m.mut_iter().rev().count() == 128); }) } } diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs index 0b339a97262..e631b8b77cf 100644 --- a/src/libcollections/slice.rs +++ b/src/libcollections/slice.rs @@ -2155,7 +2155,7 @@ mod tests { #[test] fn test_mut_splitator() { let mut xs = [0,1,0,2,3,0,0,4,5,0]; - assert_eq!(xs.mut_split(|x| *x == 0).len(), 6); + assert_eq!(xs.mut_split(|x| *x == 0).count(), 6); for slice in xs.mut_split(|x| *x == 0) { slice.reverse(); } diff --git a/src/libcollections/smallintmap.rs b/src/libcollections/smallintmap.rs index 829986e64ee..f3118181bdc 100644 --- a/src/libcollections/smallintmap.rs +++ b/src/libcollections/smallintmap.rs @@ -31,7 +31,7 @@ pub struct SmallIntMap<T> { impl<V> Container for SmallIntMap<V> { /// Return the number of elements in the map fn len(&self) -> uint { - self.v.iter().count(|elt| elt.is_some()) + self.v.iter().filter(|elt| elt.is_some()).count() } /// Return true if there are no elements in the map diff --git a/src/libcollections/str.rs b/src/libcollections/str.rs index ab1b1d1bd81..5fd133b450f 100644 --- a/src/libcollections/str.rs +++ b/src/libcollections/str.rs @@ -2181,7 +2181,7 @@ mod bench { let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; let len = s.char_len(); - b.iter(|| assert_eq!(s.chars().len(), len)); + b.iter(|| assert_eq!(s.chars().count(), len)); } #[bench] @@ -2194,7 +2194,7 @@ mod bench { Mary had a little lamb, Little lamb"; let len = s.char_len(); - b.iter(|| assert_eq!(s.chars().len(), len)); + b.iter(|| assert_eq!(s.chars().count(), len)); } #[bench] @@ -2202,7 +2202,7 @@ mod bench { let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; let len = s.char_len(); - b.iter(|| assert_eq!(s.chars().rev().len(), len)); + b.iter(|| assert_eq!(s.chars().rev().count(), len)); } #[bench] @@ -2210,7 +2210,7 @@ mod bench { let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; let len = s.char_len(); - b.iter(|| assert_eq!(s.char_indices().len(), len)); + b.iter(|| assert_eq!(s.char_indices().count(), len)); } #[bench] @@ -2218,14 +2218,14 @@ mod bench { let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb"; let len = s.char_len(); - b.iter(|| assert_eq!(s.char_indices().rev().len(), len)); + b.iter(|| assert_eq!(s.char_indices().rev().count(), len)); } #[bench] fn split_unicode_ascii(b: &mut Bencher) { let s = "ประเทศไทย中华Việt Namประเทศไทย中华Việt Nam"; - b.iter(|| assert_eq!(s.split('V').len(), 3)); + b.iter(|| assert_eq!(s.split('V').count(), 3)); } #[bench] @@ -2240,16 +2240,16 @@ mod bench { } let s = "ประเทศไทย中华Việt Namประเทศไทย中华Việt Nam"; - b.iter(|| assert_eq!(s.split(NotAscii('V')).len(), 3)); + b.iter(|| assert_eq!(s.split(NotAscii('V')).count(), 3)); } #[bench] fn split_ascii(b: &mut Bencher) { let s = "Mary had a little lamb, Little lamb, little-lamb."; - let len = s.split(' ').len(); + let len = s.split(' ').count(); - b.iter(|| assert_eq!(s.split(' ').len(), len)); + b.iter(|| assert_eq!(s.split(' ').count(), len)); } #[bench] @@ -2264,34 +2264,34 @@ mod bench { fn only_ascii(&self) -> bool { false } } let s = "Mary had a little lamb, Little lamb, little-lamb."; - let len = s.split(' ').len(); + let len = s.split(' ').count(); - b.iter(|| assert_eq!(s.split(NotAscii(' ')).len(), len)); + b.iter(|| assert_eq!(s.split(NotAscii(' ')).count(), len)); } #[bench] fn split_extern_fn(b: &mut Bencher) { let s = "Mary had a little lamb, Little lamb, little-lamb."; - let len = s.split(' ').len(); + let len = s.split(' ').count(); fn pred(c: char) -> bool { c == ' ' } - b.iter(|| assert_eq!(s.split(pred).len(), len)); + b.iter(|| assert_eq!(s.split(pred).count(), len)); } #[bench] fn split_closure(b: &mut Bencher) { let s = "Mary had a little lamb, Little lamb, little-lamb."; - let len = s.split(' ').len(); + let len = s.split(' ').count(); - b.iter(|| assert_eq!(s.split(|c: char| c == ' ').len(), len)); + b.iter(|| assert_eq!(s.split(|c: char| c == ' ').count(), len)); } #[bench] fn split_slice(b: &mut Bencher) { let s = "Mary had a little lamb, Little lamb, little-lamb."; - let len = s.split(' ').len(); + let len = s.split(' ').count(); - b.iter(|| assert_eq!(s.split(&[' ']).len(), len)); + b.iter(|| assert_eq!(s.split(&[' ']).count(), len)); } #[bench] diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index aa80a131811..6ca21262f51 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -1772,23 +1772,23 @@ mod tests { assert_eq!(v.pop(), Some(())); assert_eq!(v.pop(), None); - assert_eq!(v.iter().len(), 0); + assert_eq!(v.iter().count(), 0); v.push(()); - assert_eq!(v.iter().len(), 1); + assert_eq!(v.iter().count(), 1); v.push(()); - assert_eq!(v.iter().len(), 2); + assert_eq!(v.iter().count(), 2); for &() in v.iter() {} - assert_eq!(v.mut_iter().len(), 2); + assert_eq!(v.mut_iter().count(), 2); v.push(()); - assert_eq!(v.mut_iter().len(), 3); + assert_eq!(v.mut_iter().count(), 3); v.push(()); - assert_eq!(v.mut_iter().len(), 4); + assert_eq!(v.mut_iter().count(), 4); for &() in v.mut_iter() {} unsafe { v.set_len(0); } - assert_eq!(v.mut_iter().len(), 0); + assert_eq!(v.mut_iter().count(), 0); } #[test] |
