diff options
| author | blake2-ppc <blake2-ppc> | 2013-08-01 04:18:19 +0200 |
|---|---|---|
| committer | blake2-ppc <blake2-ppc> | 2013-08-01 16:54:22 +0200 |
| commit | 78cde5b9fb9db91f954f7fe4afdd230de6754e54 (patch) | |
| tree | 524e26fcde0b5f86f453eac7768b4881d6f979fc /src/libextra | |
| parent | 7e210a8129c844e0b3aca4a28153effd0817ef41 (diff) | |
std: Change `Times` trait to use `do` instead of `for`
Change the former repetition::
for 5.times { }
to::
do 5.times { }
.times() cannot be broken with `break` or `return` anymore; for those
cases, use a numerical range loop instead.
Diffstat (limited to 'src/libextra')
| -rw-r--r-- | src/libextra/arc.rs | 12 | ||||
| -rw-r--r-- | src/libextra/base64.rs | 6 | ||||
| -rw-r--r-- | src/libextra/bitv.rs | 2 | ||||
| -rw-r--r-- | src/libextra/dlist.rs | 2 | ||||
| -rw-r--r-- | src/libextra/flate.rs | 6 | ||||
| -rw-r--r-- | src/libextra/getopts.rs | 2 | ||||
| -rw-r--r-- | src/libextra/json.rs | 2 | ||||
| -rw-r--r-- | src/libextra/ringbuf.rs | 2 | ||||
| -rw-r--r-- | src/libextra/sort.rs | 8 | ||||
| -rw-r--r-- | src/libextra/sync.rs | 24 | ||||
| -rw-r--r-- | src/libextra/task_pool.rs | 2 | ||||
| -rw-r--r-- | src/libextra/tempfile.rs | 3 | ||||
| -rw-r--r-- | src/libextra/treemap.rs | 11 |
13 files changed, 42 insertions, 40 deletions
diff --git a/src/libextra/arc.rs b/src/libextra/arc.rs index 9e622b78fff..79eb8439fba 100644 --- a/src/libextra/arc.rs +++ b/src/libextra/arc.rs @@ -23,7 +23,7 @@ * let numbers=vec::from_fn(100, |ind| (ind as float)*rand::random()); * let shared_numbers=arc::Arc::new(numbers); * - * for 10.times { + * do 10.times { * let (port, chan) = stream(); * chan.send(shared_numbers.clone()); * @@ -765,7 +765,7 @@ mod tests { do task::spawn || { do arc2.write |num| { - for 10.times { + do 10.times { let tmp = *num; *num = -1; task::yield(); @@ -777,7 +777,7 @@ mod tests { // Readers try to catch the writer in the act let mut children = ~[]; - for 5.times { + do 5.times { let arc3 = (*arc).clone(); let mut builder = task::task(); builder.future_result(|r| children.push(r)); @@ -811,7 +811,7 @@ mod tests { // Reader tasks let mut reader_convos = ~[]; - for 10.times { + do 10.times { let ((rp1,rc1),(rp2,rc2)) = (comm::stream(),comm::stream()); reader_convos.push((rc1, rp2)); let arcn = (*arc).clone(); @@ -925,7 +925,7 @@ mod tests { do read_mode.read |state| { // if writer mistakenly got in, make sure it mutates state // before we assert on it - for 5.times { task::yield(); } + do 5.times { task::yield(); } // make sure writer didn't get in. assert!(*state); } @@ -937,6 +937,6 @@ mod tests { // helped to expose the race nearly 100% of the time... but adding // yields in the intuitively-right locations made it even less likely, // and I wasn't sure why :( . This is a mediocre "next best" option. - for 8.times { test_rw_write_cond_downgrade_read_race_helper() } + do 8.times { test_rw_write_cond_downgrade_read_race_helper() } } } diff --git a/src/libextra/base64.rs b/src/libextra/base64.rs index 5061dbf401b..5d5311d2329 100644 --- a/src/libextra/base64.rs +++ b/src/libextra/base64.rs @@ -358,9 +358,9 @@ mod test { use std::rand::{task_rng, random, RngUtil}; use std::vec; - for 1000.times { + do 1000.times { let v: ~[u8] = do vec::build |push| { - for task_rng().gen_uint_range(1, 100).times { + do task_rng().gen_uint_range(1, 100).times { push(random()); } }; @@ -389,4 +389,4 @@ mod test { bh.bytes = b.len() as u64; } -} \ No newline at end of file +} diff --git a/src/libextra/bitv.rs b/src/libextra/bitv.rs index 85002029fc6..570186b65a6 100644 --- a/src/libextra/bitv.rs +++ b/src/libextra/bitv.rs @@ -674,7 +674,7 @@ impl BitvSet { fn other_op(&mut self, other: &BitvSet, f: &fn(uint, uint) -> uint) { fn nbits(mut w: uint) -> uint { let mut bits = 0; - for uint::bits.times { + for uint::range(0, uint::bits) |_| { if w == 0 { break; } diff --git a/src/libextra/dlist.rs b/src/libextra/dlist.rs index c684ff14615..b2b39d34ce2 100644 --- a/src/libextra/dlist.rs +++ b/src/libextra/dlist.rs @@ -933,7 +933,7 @@ mod tests { #[test] fn test_fuzz() { - for 25.times { + do 25.times { fuzz_test(3); fuzz_test(16); fuzz_test(189); diff --git a/src/libextra/flate.rs b/src/libextra/flate.rs index 57edaa53eaf..d330b0ea163 100644 --- a/src/libextra/flate.rs +++ b/src/libextra/flate.rs @@ -90,13 +90,13 @@ mod tests { fn test_flate_round_trip() { let mut r = rand::rng(); let mut words = ~[]; - for 20.times { + do 20.times { let range = r.gen_uint_range(1, 10); words.push(r.gen_bytes(range)); } - for 20.times { + do 20.times { let mut input = ~[]; - for 2000.times { + do 2000.times { input.push_all(r.choose(words)); } debug!("de/inflate of %u bytes of random word-sequences", diff --git a/src/libextra/getopts.rs b/src/libextra/getopts.rs index e50693236fd..31a73833e27 100644 --- a/src/libextra/getopts.rs +++ b/src/libextra/getopts.rs @@ -662,7 +662,7 @@ pub mod groups { // here we just need to indent the start of the description let rowlen = row.len(); if rowlen < 24 { - for (24 - rowlen).times { + do (24 - rowlen).times { row.push_char(' ') } } else { diff --git a/src/libextra/json.rs b/src/libextra/json.rs index f0d5b336e30..a9f4276e79e 100644 --- a/src/libextra/json.rs +++ b/src/libextra/json.rs @@ -77,7 +77,7 @@ fn escape_str(s: &str) -> ~str { fn spaces(n: uint) -> ~str { let mut ss = ~""; - for n.times { + do n.times { ss.push_str(" "); } return ss; diff --git a/src/libextra/ringbuf.rs b/src/libextra/ringbuf.rs index e2950293719..9cb45a2ec7a 100644 --- a/src/libextra/ringbuf.rs +++ b/src/libextra/ringbuf.rs @@ -509,7 +509,7 @@ mod tests { fn bench_grow(b: &mut test::BenchHarness) { let mut deq = RingBuf::new(); do b.iter { - for 65.times { + do 65.times { deq.push_front(1); } } diff --git a/src/libextra/sort.rs b/src/libextra/sort.rs index 9cce19da524..9832ff7396b 100644 --- a/src/libextra/sort.rs +++ b/src/libextra/sort.rs @@ -1081,7 +1081,7 @@ mod big_tests { tim_sort(arr); // /sort isSorted(arr); - for 3.times { + do 3.times { let i1 = rng.gen_uint_range(0, n); let i2 = rng.gen_uint_range(0, n); arr.swap(i1, i2); @@ -1100,7 +1100,7 @@ mod big_tests { tim_sort(arr); // +sort isSorted(arr); - for (n/100).times { + do (n/100).times { let idx = rng.gen_uint_range(0, n); arr[idx] = rng.gen(); } @@ -1153,7 +1153,7 @@ mod big_tests { tim_sort(arr); // /sort isSorted(arr); - for 3.times { + do 3.times { let i1 = rng.gen_uint_range(0, n); let i2 = rng.gen_uint_range(0, n); arr.swap(i1, i2); @@ -1172,7 +1172,7 @@ mod big_tests { tim_sort(arr); // +sort isSorted(arr); - for (n/100).times { + do (n/100).times { let idx = rng.gen_uint_range(0, n); arr[idx] = @rng.gen(); } diff --git a/src/libextra/sync.rs b/src/libextra/sync.rs index dc26d1e36ce..e539b067edd 100644 --- a/src/libextra/sync.rs +++ b/src/libextra/sync.rs @@ -106,7 +106,7 @@ impl<Q:Send> Sem<Q> { } } // Uncomment if you wish to test for sem races. Not valgrind-friendly. - /* for 1000.times { task::yield(); } */ + /* do 1000.times { task::yield(); } */ // Need to wait outside the exclusive. if waiter_nobe.is_some() { let _ = comm::recv_one(waiter_nobe.unwrap()); @@ -143,7 +143,7 @@ impl Sem<~[WaitQueue]> { fn new_and_signal(count: int, num_condvars: uint) -> Sem<~[WaitQueue]> { let mut queues = ~[]; - for num_condvars.times { + do num_condvars.times { queues.push(WaitQueue::new()); } Sem::new(count, queues) @@ -826,11 +826,11 @@ mod tests { let s2 = ~s.clone(); do task::spawn || { do s2.access { - for 5.times { task::yield(); } + do 5.times { task::yield(); } } } do s.access { - for 5.times { task::yield(); } + do 5.times { task::yield(); } } } #[test] @@ -843,7 +843,7 @@ mod tests { s2.acquire(); c.send(()); } - for 5.times { task::yield(); } + do 5.times { task::yield(); } s.release(); let _ = p.recv(); @@ -852,7 +852,7 @@ mod tests { let s = ~Semaphore::new(0); let s2 = ~s.clone(); do task::spawn || { - for 5.times { task::yield(); } + do 5.times { task::yield(); } s2.release(); let _ = p.recv(); } @@ -895,7 +895,7 @@ mod tests { c.send(()); } let _ = p.recv(); // wait for child to come alive - for 5.times { task::yield(); } // let the child contend + do 5.times { task::yield(); } // let the child contend } let _ = p.recv(); // wait for child to be done } @@ -929,7 +929,7 @@ mod tests { } fn access_shared(sharedstate: &mut int, m: &Mutex, n: uint) { - for n.times { + do n.times { do m.lock { let oldval = *sharedstate; task::yield(); @@ -975,7 +975,7 @@ mod tests { let m = ~Mutex::new(); let mut ports = ~[]; - for num_waiters.times { + do num_waiters.times { let mi = ~m.clone(); let (port, chan) = comm::stream(); ports.push(port); @@ -1065,7 +1065,7 @@ mod tests { let result: result::Result<(),()> = do task::try || { let mut sibling_convos = ~[]; - for 2.times { + do 2.times { let (p,c) = comm::stream(); let c = Cell::new(c); sibling_convos.push(p); @@ -1212,7 +1212,7 @@ mod tests { fn access_shared(sharedstate: &mut int, x: &RWLock, mode: RWLockMode, n: uint) { - for n.times { + do n.times { do lock_rwlock_in_mode(x, mode) { let oldval = *sharedstate; task::yield(); @@ -1343,7 +1343,7 @@ mod tests { let x = ~RWLock::new(); let mut ports = ~[]; - for num_waiters.times { + do num_waiters.times { let xi = (*x).clone(); let (port, chan) = comm::stream(); ports.push(port); diff --git a/src/libextra/task_pool.rs b/src/libextra/task_pool.rs index 523e11e810c..ddb3c31ec05 100644 --- a/src/libextra/task_pool.rs +++ b/src/libextra/task_pool.rs @@ -102,7 +102,7 @@ fn test_task_pool() { g }; let mut pool = TaskPool::new(4, Some(SingleThreaded), f); - for 8.times { + do 8.times { pool.execute(|i| printfln!("Hello from thread %u!", *i)); } } diff --git a/src/libextra/tempfile.rs b/src/libextra/tempfile.rs index c5fb4b9292e..0a2f32375f8 100644 --- a/src/libextra/tempfile.rs +++ b/src/libextra/tempfile.rs @@ -14,12 +14,13 @@ use std::os; use std::rand::RngUtil; use std::rand; +use std::uint; /// Attempts to make a temporary directory inside of `tmpdir` whose name will /// have the suffix `suffix`. If no directory can be created, None is returned. pub fn mkdtemp(tmpdir: &Path, suffix: &str) -> Option<Path> { let mut r = rand::rng(); - for 1000.times { + for uint::range(0, 1000) |_| { let p = tmpdir.push(r.gen_str(16) + suffix); if os::make_dir(&p, 0x1c0) { // 700 return Some(p); diff --git a/src/libextra/treemap.rs b/src/libextra/treemap.rs index 8a2d6cfcf49..9493a6fb0e0 100644 --- a/src/libextra/treemap.rs +++ b/src/libextra/treemap.rs @@ -16,6 +16,7 @@ use std::num; use std::util::{swap, replace}; use std::iterator::{FromIterator, Extendable}; +use std::uint; // This is implemented as an AA tree, which is a simplified variation of // a red-black tree where red (horizontal) nodes can only be added @@ -47,7 +48,7 @@ impl<K: Eq + TotalOrd, V: Eq> Eq for TreeMap<K, V> { } else { let mut x = self.iter(); let mut y = other.iter(); - for self.len().times { + for uint::range(0, self.len()) |_| { if x.next().unwrap() != y.next().unwrap() { return false } @@ -65,7 +66,7 @@ fn lt<K: Ord + TotalOrd, V: Ord>(a: &TreeMap<K, V>, let mut y = b.iter(); let (a_len, b_len) = (a.len(), b.len()); - for num::min(a_len, b_len).times { + for uint::range(0, num::min(a_len, b_len)) |_| { let (key_a, value_a) = x.next().unwrap(); let (key_b, value_b) = y.next().unwrap(); if *key_a < *key_b { return true; } @@ -931,8 +932,8 @@ mod test_treemap { let mut rng = rand::IsaacRng::new_seeded(&[42]); - for 3.times { - for 90.times { + do 3.times { + do 90.times { let k = rng.gen(); let v = rng.gen(); if !ctrl.iter().any(|x| x == &(k, v)) { @@ -943,7 +944,7 @@ mod test_treemap { } } - for 30.times { + do 30.times { let r = rng.gen_uint_range(0, ctrl.len()); let (key, _) = ctrl.remove(r); assert!(map.remove(&key)); |
