From 1bde6e3fcb32ca00cf8a8dfa0977e47f7f4a77bf Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Thu, 5 Jun 2014 23:18:51 -0700 Subject: 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] --- src/libstd/num/strconv.rs | 1 - src/libstd/rand/mod.rs | 12 ++++++------ src/libstd/rt/backtrace.rs | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/num/strconv.rs b/src/libstd/num/strconv.rs index 54ca5797804..133a8db90fa 100644 --- a/src/libstd/num/strconv.rs +++ b/src/libstd/num/strconv.rs @@ -13,7 +13,6 @@ use char; use clone::Clone; use container::Container; -use iter::Iterator; use num::{NumCast, Zero, One, cast, Int}; use num::{Float, FPNaN, FPInfinite, ToPrimitive}; use num; diff --git a/src/libstd/rand/mod.rs b/src/libstd/rand/mod.rs index 61a2ffd383d..ee193562887 100644 --- a/src/libstd/rand/mod.rs +++ b/src/libstd/rand/mod.rs @@ -353,17 +353,17 @@ mod test { #[test] fn test_gen_ascii_str() { let mut r = task_rng(); - assert_eq!(r.gen_ascii_chars().take(0).len(), 0u); - assert_eq!(r.gen_ascii_chars().take(10).len(), 10u); - assert_eq!(r.gen_ascii_chars().take(16).len(), 16u); + assert_eq!(r.gen_ascii_chars().take(0).count(), 0u); + assert_eq!(r.gen_ascii_chars().take(10).count(), 10u); + assert_eq!(r.gen_ascii_chars().take(16).count(), 16u); } #[test] fn test_gen_vec() { let mut r = task_rng(); - assert_eq!(r.gen_iter::().take(0).len(), 0u); - assert_eq!(r.gen_iter::().take(10).len(), 10u); - assert_eq!(r.gen_iter::().take(16).len(), 16u); + assert_eq!(r.gen_iter::().take(0).count(), 0u); + assert_eq!(r.gen_iter::().take(10).count(), 10u); + assert_eq!(r.gen_iter::().take(16).count(), 16u); } #[test] diff --git a/src/libstd/rt/backtrace.rs b/src/libstd/rt/backtrace.rs index ac421bf78be..fe6d84d4d2e 100644 --- a/src/libstd/rt/backtrace.rs +++ b/src/libstd/rt/backtrace.rs @@ -84,7 +84,7 @@ fn demangle(writer: &mut Writer, s: &str) -> IoResult<()> { if i == 0 { valid = chars.next().is_none(); break - } else if chars.by_ref().take(i - 1).len() != i - 1 { + } else if chars.by_ref().take(i - 1).count() != i - 1 { valid = false; } } -- cgit 1.4.1-3-g733a5