From 41bca84dd95e0ef9ceb9f0a304eca0d62602198b Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 3 Jul 2012 16:46:57 -0700 Subject: [PATCH] core: Convert iter::repeat to the for protocol --- src/libcore/comm.rs | 16 ++++++++-------- src/libcore/iter.rs | 4 ++-- src/libcore/priv.rs | 4 ++-- src/libcore/task.rs | 4 ++-- src/libstd/timer.rs | 12 ++++++------ src/libstd/uv_global_loop.rs | 4 ++-- src/libstd/uv_iotask.rs | 4 ++-- src/rustdoc/markdown_pass.rs | 4 ++-- src/test/bench/task-perf-alloc-unwind.rs | 2 +- src/test/bench/task-perf-one-million.rs | 6 +++--- src/test/run-fail/extern-fail.rs | 2 +- src/test/run-pass/extern-stress.rs | 2 +- src/test/run-pass/extern-yield.rs | 2 +- src/test/run-pass/issue-783.rs | 2 +- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/libcore/comm.rs b/src/libcore/comm.rs index baf4e82ecd5..ff6187a9f61 100644 --- a/src/libcore/comm.rs +++ b/src/libcore/comm.rs @@ -364,16 +364,16 @@ fn test_select2_rendezvous() { let ch_a = chan(po_a); let ch_b = chan(po_b); - do iter::repeat(10u) || { + for iter::repeat(10u) || { do task::spawn || { - iter::repeat(10u, || task::yield()); + for iter::repeat(10u) { task::yield() } send(ch_a, "a"); }; assert select2(po_a, po_b) == either::left("a"); do task::spawn || { - iter::repeat(10u, || task::yield()); + for iter::repeat(10u) { task::yield() } send(ch_b, "b"); }; @@ -391,14 +391,14 @@ fn test_select2_stress() { let msgs = 100u; let times = 4u; - do iter::repeat(times) || { + for iter::repeat(times) || { do task::spawn || { - do iter::repeat(msgs) || { + for iter::repeat(msgs) || { send(ch_a, "a") } }; do task::spawn || { - do iter::repeat(msgs) || { + for iter::repeat(msgs) || { send(ch_b, "b") } }; @@ -406,7 +406,7 @@ fn test_select2_stress() { let mut as = 0; let mut bs = 0; - do iter::repeat(msgs * times * 2u) || { + for iter::repeat(msgs * times * 2u) || { alt check select2(po_a, po_b) { either::left("a") { as += 1 } either::right("b") { bs += 1 } @@ -473,7 +473,7 @@ fn test_listen() { #[test] #[ignore(cfg(windows))] fn test_port_detach_fail() { - do iter::repeat(100u) || { + for iter::repeat(100u) || { let builder = task::builder(); task::unsupervise(builder); do task::run(builder) || { diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index c5f395d376c..0280221ebfc 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -99,10 +99,10 @@ fn position>(self: IA, f: fn(A) -> bool) // iter interface, such as would provide "reach" in addition to "each". as is, // it would have to be implemented with foldr, which is too inefficient. -fn repeat(times: uint, blk: fn()) { +fn repeat(times: uint, blk: fn() -> bool) { let mut i = 0u; while i < times { - blk(); + if !blk() { break } i += 1u; } } diff --git a/src/libcore/priv.rs b/src/libcore/priv.rs index 447c9352dda..c4bcbdb36cd 100644 --- a/src/libcore/priv.rs +++ b/src/libcore/priv.rs @@ -121,7 +121,7 @@ fn test_from_global_chan1() { #[test] fn test_from_global_chan2() { - do iter::repeat(100u) || { + for iter::repeat(100u) || { // The global channel let globchan = 0u; let globchanp = ptr::addr_of(globchan); @@ -224,7 +224,7 @@ fn test_weaken_task_wait() { #[test] fn test_weaken_task_stress() { // Create a bunch of weak tasks - do iter::repeat(100u) || { + for iter::repeat(100u) || { do task::spawn || { unsafe { do weaken_task |_po| { diff --git a/src/libcore/task.rs b/src/libcore/task.rs index 2476cf0f5a8..e636a1007b9 100644 --- a/src/libcore/task.rs +++ b/src/libcore/task.rs @@ -1003,7 +1003,7 @@ fn test_spawn_sched_blocking() { // Testing that a task in one scheduler can block in foreign code // without affecting other schedulers - do iter::repeat(20u) || { + for iter::repeat(20u) || { let start_po = comm::port(); let start_ch = comm::chan(start_po); @@ -1168,7 +1168,7 @@ fn test_unkillable() { // We want to do this after failing do spawn || { - iter::repeat(10u, yield); + for iter::repeat(10u) { yield() } ch.send(()); } diff --git a/src/libstd/timer.rs b/src/libstd/timer.rs index 6e4dc0d4260..15e91691c72 100644 --- a/src/libstd/timer.rs +++ b/src/libstd/timer.rs @@ -151,7 +151,7 @@ mod test { #[test] fn test_gl_timer_sleep_stress1() { let hl_loop = uv::global_loop::get(); - do iter::repeat(200u) || { + for iter::repeat(200u) || { sleep(hl_loop, 1u); } } @@ -171,14 +171,14 @@ mod test { }; - do iter::repeat(repeat) || { + for iter::repeat(repeat) || { for spec.each |spec| { let (times, maxms) = spec; do task::spawn || { import rand::*; let rng = rng(); - do iter::repeat(times) || { + for iter::repeat(times) || { sleep(hl_loop, rng.next() as uint % maxms); } comm::send(ch, ()); @@ -186,7 +186,7 @@ mod test { } } - do iter::repeat(repeat * spec.len()) || { + for iter::repeat(repeat * spec.len()) || { comm::recv(po) } } @@ -204,7 +204,7 @@ mod test { let mut failures = 0; let hl_loop = uv::global_loop::get(); - do iter::repeat(times as uint) || { + for iter::repeat(times as uint) || { task::yield(); let expected = rand::rng().gen_str(16u); @@ -231,7 +231,7 @@ mod test { let mut failures = 0; let hl_loop = uv::global_loop::get(); - do iter::repeat(times as uint) || { + for iter::repeat(times as uint) || { let expected = rand::rng().gen_str(16u); let test_po = comm::port::(); let test_ch = comm::chan(test_po); diff --git a/src/libstd/uv_global_loop.rs b/src/libstd/uv_global_loop.rs index 119942c783a..d9009aa0503 100644 --- a/src/libstd/uv_global_loop.rs +++ b/src/libstd/uv_global_loop.rs @@ -191,13 +191,13 @@ mod test { let exit_po = comm::port::<()>(); let exit_ch = comm::chan(exit_po); let cycles = 5000u; - do iter::repeat(cycles) || { + for iter::repeat(cycles) || { task::spawn_sched(task::manual_threads(1u), || { impl_uv_hl_simple_timer(hl_loop); comm::send(exit_ch, ()); }); }; - do iter::repeat(cycles) || { + for iter::repeat(cycles) || { comm::recv(exit_po); }; log(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 9e26862eeee..27c79d7a6d1 100644 --- a/src/libstd/uv_iotask.rs +++ b/src/libstd/uv_iotask.rs @@ -255,13 +255,13 @@ mod test { // called, at least. let work_exit_po = comm::port::<()>(); let work_exit_ch = comm::chan(work_exit_po); - do iter::repeat(7u) || { + for iter::repeat(7u) || { do task::spawn_sched(task::manual_threads(1u)) || { impl_uv_iotask_async(iotask); comm::send(work_exit_ch, ()); }; }; - do iter::repeat(7u) || { + for iter::repeat(7u) || { comm::recv(work_exit_po); }; log(debug, "sending teardown_loop msg.."); diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs index cb3da77362d..7402bfa0dbb 100644 --- a/src/rustdoc/markdown_pass.rs +++ b/src/rustdoc/markdown_pass.rs @@ -115,7 +115,7 @@ fn should_request_new_writer_for_each_page() { let doc = page_pass::mk_pass(config::doc_per_mod).f(srv, doc); write_markdown(doc, writer_factory); // We expect two pages to have been written - do iter::repeat(2u) || { + for iter::repeat(2u) || { comm::recv(po); } } @@ -146,7 +146,7 @@ fn should_write_title_for_each_page() { "#[link(name = \"core\")]; mod a { }"); let doc = page_pass::mk_pass(config::doc_per_mod).f(srv, doc); write_markdown(doc, writer_factory); - do iter::repeat(2u) || { + for iter::repeat(2u) || { let (page, markdown) = comm::recv(po); alt page { doc::cratepage(_) { diff --git a/src/test/bench/task-perf-alloc-unwind.rs b/src/test/bench/task-perf-alloc-unwind.rs index d898acb28ab..4c4e263701b 100644 --- a/src/test/bench/task-perf-alloc-unwind.rs +++ b/src/test/bench/task-perf-alloc-unwind.rs @@ -17,7 +17,7 @@ fn main() { } fn run(repeat: int, depth: int) { - do iter::repeat(repeat as uint) || { + for iter::repeat(repeat as uint) || { #debug("starting %.4f", precise_time_s()); do task::try || { recurse_or_fail(depth, none) diff --git a/src/test/bench/task-perf-one-million.rs b/src/test/bench/task-perf-one-million.rs index 43c778d3737..9b46d74c702 100644 --- a/src/test/bench/task-perf-one-million.rs +++ b/src/test/bench/task-perf-one-million.rs @@ -12,13 +12,13 @@ fn calc(children: uint, parent_ch: comm::chan) { let mut child_chs = ~[]; let mut sum = 0; - do iter::repeat (children) || { + for iter::repeat (children) || { do task::spawn || { calc(0u, chan); }; } - do iter::repeat (children) || { + for iter::repeat (children) || { alt check comm::recv(port) { ready(child_ch) { vec::push(child_chs, child_ch); @@ -36,7 +36,7 @@ fn calc(children: uint, parent_ch: comm::chan) { } } - do iter::repeat (children) || { + for iter::repeat (children) || { alt check comm::recv(port) { done(child_sum) { sum += child_sum; } } diff --git a/src/test/run-fail/extern-fail.rs b/src/test/run-fail/extern-fail.rs index 3632b832429..a09a53a1d65 100644 --- a/src/test/run-fail/extern-fail.rs +++ b/src/test/run-fail/extern-fail.rs @@ -21,7 +21,7 @@ fn count(n: uint) -> uint { } fn main() { - do iter::repeat(10u) || { + for iter::repeat(10u) || { do task::spawn || { let result = count(5u); #debug("result = %?", result); diff --git a/src/test/run-pass/extern-stress.rs b/src/test/run-pass/extern-stress.rs index 4435e18cec2..4e8439ec1a2 100644 --- a/src/test/run-pass/extern-stress.rs +++ b/src/test/run-pass/extern-stress.rs @@ -20,7 +20,7 @@ fn count(n: uint) -> uint { } fn main() { - do iter::repeat(100u) || { + for iter::repeat(100u) || { do task::spawn || { assert count(5u) == 16u; }; diff --git a/src/test/run-pass/extern-yield.rs b/src/test/run-pass/extern-yield.rs index bf70e09fdd8..174e4c483fd 100644 --- a/src/test/run-pass/extern-yield.rs +++ b/src/test/run-pass/extern-yield.rs @@ -17,7 +17,7 @@ fn count(n: uint) -> uint { } fn main() { - do iter::repeat(10u) || { + for iter::repeat(10u) || { do task::spawn || { let result = count(5u); #debug("result = %?", result); diff --git a/src/test/run-pass/issue-783.rs b/src/test/run-pass/issue-783.rs index 54e3e9e87e5..662c1804fc3 100644 --- a/src/test/run-pass/issue-783.rs +++ b/src/test/run-pass/issue-783.rs @@ -21,7 +21,7 @@ fn a() { } fn main() { - do iter::repeat(100u) || { + for iter::repeat(100u) || { spawn(|| a() ); } }