diff options
| author | bors <bors@rust-lang.org> | 2013-04-28 19:36:36 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-04-28 19:36:36 -0700 |
| commit | 7b7a0fc235cd2e0782302cd6fb83634e190b15b7 (patch) | |
| tree | c4d6aedddc64db81f6ada877e9ec585cf981d2d9 /src/libstd | |
| parent | 9f03d45c56b37b36912c16bd5b4fb4723fd91cb7 (diff) | |
| parent | 46f91a0fa95cd13f7433a1d72d087283f483a4b8 (diff) | |
| download | rust-7b7a0fc235cd2e0782302cd6fb83634e190b15b7.tar.gz rust-7b7a0fc235cd2e0782302cd6fb83634e190b15b7.zip | |
auto merge of #6056 : thestinger/rust/iter, r=catamorphism
The existing adaptors like `map` in the `iter` module are very flawed because they only work for `BaseIter` implementations. There are many internal iterator implementations in the standard library like the set methods (`difference`, `symmetric_difference`, `intersection`, `union`) and the `range` functions that only share the `for` loop protocol in common. The internal iterator adaptors should be implemented to work on any implementation of that protocol, rather than just a method called `each` taking `&self`. This just moves `iter.rs` to `old_iter.rs` and begins work on documenting and implementing a nicer module.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/base64.rs | 4 | ||||
| -rw-r--r-- | src/libstd/dlist.rs | 4 | ||||
| -rw-r--r-- | src/libstd/priority_queue.rs | 2 | ||||
| -rw-r--r-- | src/libstd/smallintmap.rs | 2 | ||||
| -rw-r--r-- | src/libstd/timer.rs | 12 | ||||
| -rw-r--r-- | src/libstd/uv_global_loop.rs | 6 | ||||
| -rw-r--r-- | src/libstd/uv_iotask.rs | 4 |
7 files changed, 17 insertions, 17 deletions
diff --git a/src/libstd/base64.rs b/src/libstd/base64.rs index e90f0fb3c81..b26296c9aca 100644 --- a/src/libstd/base64.rs +++ b/src/libstd/base64.rs @@ -10,7 +10,7 @@ //! Base64 binary-to-text encoding -use core::iter; +use core::old_iter; use core::str; use core::vec; @@ -152,7 +152,7 @@ impl FromBase64 for ~[u8] { while i < len { let mut n = 0u; - for iter::repeat(4u) { + for old_iter::repeat(4u) { let ch = self[i] as char; n <<= 6u; diff --git a/src/libstd/dlist.rs b/src/libstd/dlist.rs index 5fdc467cfa2..1257d554532 100644 --- a/src/libstd/dlist.rs +++ b/src/libstd/dlist.rs @@ -483,7 +483,7 @@ pub impl<T:Copy> DList<T> { /// Get the elements of the list as a vector. O(n). fn to_vec(@mut self) -> ~[T] { let mut v = vec::with_capacity(self.size); - for iter::eachi(&self) |index,data| { + for old_iter::eachi(&self) |index,data| { v[index] = *data; } v @@ -750,7 +750,7 @@ mod tests { #[test] fn test_dlist_foldl() { let l = from_vec(vec::from_fn(101, |x|x)); - assert_eq!(iter::foldl(&l, 0, |accum,elem| *accum+*elem), 5050); + assert_eq!(old_iter::foldl(&l, 0, |accum,elem| *accum+*elem), 5050); } #[test] fn test_dlist_break_early() { diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs index 08a58125d7e..60f25c2a270 100644 --- a/src/libstd/priority_queue.rs +++ b/src/libstd/priority_queue.rs @@ -10,7 +10,7 @@ //! A priority queue implemented with a binary heap -use core::iter::BaseIter; +use core::old_iter::BaseIter; use core::ptr::addr_of; #[abi = "rust-intrinsic"] diff --git a/src/libstd/smallintmap.rs b/src/libstd/smallintmap.rs index 487a5598d6f..fb17d4e5090 100644 --- a/src/libstd/smallintmap.rs +++ b/src/libstd/smallintmap.rs @@ -14,7 +14,7 @@ */ use core::container::{Container, Mutable, Map, Set}; -use core::iter::{BaseIter}; +use core::old_iter::{BaseIter}; use core::option::{Some, None}; pub struct SmallIntMap<T> { diff --git a/src/libstd/timer.rs b/src/libstd/timer.rs index a36a6da4653..69e01d4e4db 100644 --- a/src/libstd/timer.rs +++ b/src/libstd/timer.rs @@ -183,7 +183,7 @@ mod test { #[test] fn test_gl_timer_sleep_stress1() { let hl_loop = &uv::global_loop::get(); - for iter::repeat(50u) { + for old_iter::repeat(50u) { sleep(hl_loop, 1u); } } @@ -203,7 +203,7 @@ mod test { }; - for iter::repeat(repeat) { + for old_iter::repeat(repeat) { let ch = ch.clone(); for spec.each |spec| { @@ -213,7 +213,7 @@ mod test { do task::spawn { use core::rand::*; let rng = rng(); - for iter::repeat(times) { + for old_iter::repeat(times) { sleep(&hl_loop_clone, rng.next() as uint % maxms); } ch.send(()); @@ -221,7 +221,7 @@ mod test { } } - for iter::repeat(repeat * spec.len()) { + for old_iter::repeat(repeat * spec.len()) { po.recv() } } @@ -239,7 +239,7 @@ mod test { let mut failures = 0; let hl_loop = uv::global_loop::get(); - for iter::repeat(times as uint) { + for old_iter::repeat(times as uint) { task::yield(); let expected = rand::rng().gen_str(16u); @@ -268,7 +268,7 @@ mod test { let mut failures = 0; let hl_loop = uv::global_loop::get(); - for iter::repeat(times as uint) { + for old_iter::repeat(times as uint) { let expected = rand::rng().gen_str(16u); let (test_po, test_ch) = stream::<~str>(); let hl_loop_clone = hl_loop.clone(); diff --git a/src/libstd/uv_global_loop.rs b/src/libstd/uv_global_loop.rs index a9016697031..2ab5ce8698c 100644 --- a/src/libstd/uv_global_loop.rs +++ b/src/libstd/uv_global_loop.rs @@ -119,7 +119,7 @@ mod test { use uv::ll; use uv_iotask::IoTask; - use core::iter; + use core::old_iter; use core::libc; use core::ptr; use core::task; @@ -210,7 +210,7 @@ mod test { let (exit_po, exit_ch) = stream::<()>(); let exit_ch = SharedChan::new(exit_ch); let cycles = 5000u; - for iter::repeat(cycles) { + for old_iter::repeat(cycles) { let exit_ch_clone = exit_ch.clone(); task::spawn_sched(task::ManualThreads(1u), || { let hl_loop = &get_gl(); @@ -218,7 +218,7 @@ mod test { exit_ch_clone.send(()); }); }; - for iter::repeat(cycles) { + for old_iter::repeat(cycles) { exit_po.recv(); }; debug!(~"test_stress_gl_uv_global_loop_high_level_global_timer"+ diff --git a/src/libstd/uv_iotask.rs b/src/libstd/uv_iotask.rs index f03c60757f3..309ae32dc59 100644 --- a/src/libstd/uv_iotask.rs +++ b/src/libstd/uv_iotask.rs @@ -285,7 +285,7 @@ fn test_uv_iotask_async() { // impl_uv_hl_async() runs have been called, at least. let (work_exit_po, work_exit_ch) = stream::<()>(); let work_exit_ch = SharedChan::new(work_exit_ch); - for iter::repeat(7u) { + for old_iter::repeat(7u) { let iotask_clone = iotask.clone(); let work_exit_ch_clone = work_exit_ch.clone(); do task::spawn_sched(task::ManualThreads(1u)) { @@ -295,7 +295,7 @@ fn test_uv_iotask_async() { work_exit_ch_clone.send(()); }; }; - for iter::repeat(7u) { + for old_iter::repeat(7u) { debug!("waiting"); work_exit_po.recv(); }; |
