Skip to content

Commit 3cb72a3

Browse files
committed
auto merge of #11672 : bjz/rust/remove-times, r=brson
`Times::times` was always a second-class loop because it did not support the `break` and `continue` operations. Its playful appeal (which I liked) was then lost after `do` was disabled for closures. It's time to let this one go.
2 parents 704f93f + 729060d commit 3cb72a3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+151
-200
lines changed

src/etc/vim/syntax/rust.vim

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ syn keyword rustTrait FromStr
7878
syn keyword rustTrait FromIterator Extendable
7979
syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator CloneableIterator
8080
syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
81-
syn keyword rustTrait Times
8281

8382
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
8483
syn keyword rustTrait Bitwise Bounded Integer Fractional Real RealExt

src/libextra/arc.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -770,19 +770,19 @@ mod tests {
770770

771771
task::spawn(proc() {
772772
arc2.write(|num| {
773-
10.times(|| {
773+
for _ in range(0, 10) {
774774
let tmp = *num;
775775
*num = -1;
776776
task::deschedule();
777777
*num = tmp + 1;
778-
});
778+
}
779779
c.send(());
780780
})
781781
});
782782

783783
// Readers try to catch the writer in the act
784784
let mut children = ~[];
785-
5.times(|| {
785+
for _ in range(0, 5) {
786786
let arc3 = arc.clone();
787787
let mut builder = task::task();
788788
children.push(builder.future_result());
@@ -791,7 +791,7 @@ mod tests {
791791
assert!(*num >= 0);
792792
})
793793
});
794-
});
794+
}
795795

796796
// Wait for children to pass their asserts
797797
for r in children.mut_iter() {
@@ -836,7 +836,7 @@ mod tests {
836836

837837
// Reader tasks
838838
let mut reader_convos = ~[];
839-
10.times(|| {
839+
for _ in range(0, 10) {
840840
let ((rp1, rc1), (rp2, rc2)) = (Chan::new(), Chan::new());
841841
reader_convos.push((rc1, rp2));
842842
let arcn = arc.clone();
@@ -847,7 +847,7 @@ mod tests {
847847
rc2.send(());
848848
})
849849
});
850-
});
850+
}
851851

852852
// Writer task
853853
let arc2 = arc.clone();
@@ -944,7 +944,7 @@ mod tests {
944944
read_mode.read(|state| {
945945
// if writer mistakenly got in, make sure it mutates state
946946
// before we assert on it
947-
5.times(|| task::deschedule());
947+
for _ in range(0, 5) { task::deschedule(); }
948948
// make sure writer didn't get in.
949949
assert!(*state);
950950
})
@@ -956,6 +956,6 @@ mod tests {
956956
// helped to expose the race nearly 100% of the time... but adding
957957
// deschedules in the intuitively-right locations made it even less likely,
958958
// and I wasn't sure why :( . This is a mediocre "next best" option.
959-
8.times(|| test_rw_write_cond_downgrade_read_race_helper());
959+
for _ in range(0, 8) { test_rw_write_cond_downgrade_read_race_helper(); }
960960
}
961961
}

src/libextra/base64.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,11 +336,11 @@ mod test {
336336
use std::rand::{task_rng, random, Rng};
337337
use std::vec;
338338

339-
1000.times(|| {
339+
for _ in range(0, 1000) {
340340
let times = task_rng().gen_range(1u, 100);
341341
let v = vec::from_fn(times, |_| random::<u8>());
342342
assert_eq!(v.to_base64(STANDARD).from_base64().unwrap(), v);
343-
})
343+
}
344344
}
345345

346346
#[bench]

src/libextra/comm.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ mod test {
127127
// Rendezvous streams should be able to handle any number of messages being sent
128128
let (port, chan) = rendezvous();
129129
spawn(proc() {
130-
10000.times(|| { chan.send(()) })
130+
for _ in range(0, 10000) { chan.send(()); }
131131
});
132-
10000.times(|| { port.recv() })
132+
for _ in range(0, 10000) { port.recv(); }
133133
}
134134

135135
#[test]

src/libextra/dlist.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,11 +1036,11 @@ mod tests {
10361036

10371037
#[test]
10381038
fn test_fuzz() {
1039-
25.times(|| {
1039+
for _ in range(0, 25) {
10401040
fuzz_test(3);
10411041
fuzz_test(16);
10421042
fuzz_test(189);
1043-
})
1043+
}
10441044
}
10451045

10461046
#[cfg(test)]

src/libextra/getopts.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -726,9 +726,9 @@ pub mod groups {
726726
// here we just need to indent the start of the description
727727
let rowlen = row.char_len();
728728
if rowlen < 24 {
729-
(24 - rowlen).times(|| {
730-
row.push_char(' ')
731-
})
729+
for _ in range(0, 24 - rowlen) {
730+
row.push_char(' ');
731+
}
732732
} else {
733733
row.push_str(desc_sep)
734734
}

src/libextra/json.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ fn escape_str(s: &str) -> ~str {
282282

283283
fn spaces(n: uint) -> ~str {
284284
let mut ss = ~"";
285-
n.times(|| ss.push_str(" "));
285+
for _ in range(0, n) { ss.push_str(" "); }
286286
return ss;
287287
}
288288

src/libextra/num/bigint.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2052,22 +2052,22 @@ mod biguint_tests {
20522052
fn test_rand_range() {
20532053
let mut rng = task_rng();
20542054

2055-
10.times(|| {
2055+
for _ in range(0, 10) {
20562056
assert_eq!(rng.gen_bigint_range(&FromPrimitive::from_uint(236).unwrap(),
20572057
&FromPrimitive::from_uint(237).unwrap()),
20582058
FromPrimitive::from_uint(236).unwrap());
2059-
});
2059+
}
20602060

20612061
let l = FromPrimitive::from_uint(403469000 + 2352).unwrap();
20622062
let u = FromPrimitive::from_uint(403469000 + 3513).unwrap();
2063-
1000.times(|| {
2063+
for _ in range(0, 1000) {
20642064
let n: BigUint = rng.gen_biguint_below(&u);
20652065
assert!(n < u);
20662066

20672067
let n: BigUint = rng.gen_biguint_range(&l, &u);
20682068
assert!(n >= l);
20692069
assert!(n < u);
2070-
})
2070+
}
20712071
}
20722072

20732073
#[test]
@@ -2550,19 +2550,19 @@ mod bigint_tests {
25502550
fn test_rand_range() {
25512551
let mut rng = task_rng();
25522552

2553-
10.times(|| {
2553+
for _ in range(0, 10) {
25542554
assert_eq!(rng.gen_bigint_range(&FromPrimitive::from_uint(236).unwrap(),
25552555
&FromPrimitive::from_uint(237).unwrap()),
25562556
FromPrimitive::from_uint(236).unwrap());
2557-
});
2557+
}
25582558

25592559
fn check(l: BigInt, u: BigInt) {
25602560
let mut rng = task_rng();
2561-
1000.times(|| {
2561+
for _ in range(0, 1000) {
25622562
let n: BigInt = rng.gen_bigint_range(&l, &u);
25632563
assert!(n >= l);
25642564
assert!(n < u);
2565-
});
2565+
}
25662566
}
25672567
let l: BigInt = FromPrimitive::from_uint(403469000 + 2352).unwrap();
25682568
let u: BigInt = FromPrimitive::from_uint(403469000 + 3513).unwrap();

src/libextra/ringbuf.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,9 +571,9 @@ mod tests {
571571
fn bench_grow(b: &mut test::BenchHarness) {
572572
let mut deq = RingBuf::new();
573573
b.iter(|| {
574-
65.times(|| {
574+
for _ in range(0, 65) {
575575
deq.push_front(1);
576-
})
576+
}
577577
})
578578
}
579579

src/libextra/sync.rs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ impl<Q:Send> Sem<Q> {
120120
}
121121
});
122122
// Uncomment if you wish to test for sem races. Not valgrind-friendly.
123-
/* 1000.times(|| task::deschedule()); */
123+
/* for _ in range(0, 1000) { task::deschedule(); } */
124124
// Need to wait outside the exclusive.
125125
if waiter_nobe.is_some() {
126126
let _ = waiter_nobe.unwrap().recv();
@@ -155,7 +155,7 @@ impl Sem<~[WaitQueue]> {
155155
fn new_and_signal(count: int, num_condvars: uint)
156156
-> Sem<~[WaitQueue]> {
157157
let mut queues = ~[];
158-
num_condvars.times(|| queues.push(WaitQueue::new()));
158+
for _ in range(0, num_condvars) { queues.push(WaitQueue::new()); }
159159
Sem::new(count, queues)
160160
}
161161
}
@@ -691,7 +691,7 @@ impl<'a> RWLockReadMode<'a> {
691691
/// use extra::sync::Barrier;
692692
///
693693
/// let barrier = Barrier::new(10);
694-
/// 10.times(|| {
694+
/// for _ in range(0, 10) {
695695
/// let c = barrier.clone();
696696
/// // The same messages will be printed together.
697697
/// // You will NOT see any interleaving.
@@ -700,7 +700,7 @@ impl<'a> RWLockReadMode<'a> {
700700
/// c.wait();
701701
/// println!("after wait");
702702
/// });
703-
/// });
703+
/// }
704704
/// ```
705705
#[deriving(Clone)]
706706
pub struct Barrier {
@@ -780,11 +780,11 @@ mod tests {
780780
let s2 = s.clone();
781781
task::spawn(proc() {
782782
s2.access(|| {
783-
5.times(|| { task::deschedule(); })
783+
for _ in range(0, 5) { task::deschedule(); }
784784
})
785785
});
786786
s.access(|| {
787-
5.times(|| { task::deschedule(); })
787+
for _ in range(0, 5) { task::deschedule(); }
788788
})
789789
}
790790
#[test]
@@ -797,7 +797,7 @@ mod tests {
797797
s2.acquire();
798798
c.send(());
799799
});
800-
5.times(|| { task::deschedule(); });
800+
for _ in range(0, 5) { task::deschedule(); }
801801
s.release();
802802
let _ = p.recv();
803803

@@ -806,7 +806,7 @@ mod tests {
806806
let s = Semaphore::new(0);
807807
let s2 = s.clone();
808808
task::spawn(proc() {
809-
5.times(|| { task::deschedule(); });
809+
for _ in range(0, 5) { task::deschedule(); }
810810
s2.release();
811811
let _ = p.recv();
812812
});
@@ -848,7 +848,7 @@ mod tests {
848848
c.send(());
849849
});
850850
let _ = p.recv(); // wait for child to come alive
851-
5.times(|| { task::deschedule(); }); // let the child contend
851+
for _ in range(0, 5) { task::deschedule(); } // let the child contend
852852
});
853853
let _ = p.recv(); // wait for child to be done
854854
}
@@ -880,13 +880,13 @@ mod tests {
880880
}
881881

882882
fn access_shared(sharedstate: &mut int, m: &Mutex, n: uint) {
883-
n.times(|| {
883+
for _ in range(0, n) {
884884
m.lock(|| {
885885
let oldval = *sharedstate;
886886
task::deschedule();
887887
*sharedstate = oldval + 1;
888888
})
889-
})
889+
}
890890
}
891891
}
892892
#[test]
@@ -926,7 +926,7 @@ mod tests {
926926
let m = Mutex::new();
927927
let mut ports = ~[];
928928

929-
num_waiters.times(|| {
929+
for _ in range(0, num_waiters) {
930930
let mi = m.clone();
931931
let (port, chan) = Chan::new();
932932
ports.push(port);
@@ -937,7 +937,7 @@ mod tests {
937937
chan.send(());
938938
})
939939
});
940-
});
940+
}
941941

942942
// wait until all children get in the mutex
943943
for port in ports.mut_iter() { let _ = port.recv(); }
@@ -1020,7 +1020,7 @@ mod tests {
10201020

10211021
let result: result::Result<(), ~Any> = task::try(proc() {
10221022
let mut sibling_convos = ~[];
1023-
2.times(|| {
1023+
for _ in range(0, 2) {
10241024
let (p, c) = Chan::new();
10251025
sibling_convos.push(p);
10261026
let mi = m2.clone();
@@ -1037,7 +1037,7 @@ mod tests {
10371037
})
10381038
})
10391039
});
1040-
});
1040+
}
10411041
for p in sibling_convos.mut_iter() {
10421042
let _ = p.recv(); // wait for sibling to get in the mutex
10431043
}
@@ -1156,13 +1156,13 @@ mod tests {
11561156

11571157
fn access_shared(sharedstate: &mut int, x: &RWLock, mode: RWLockMode,
11581158
n: uint) {
1159-
n.times(|| {
1159+
for _ in range(0, n) {
11601160
lock_rwlock_in_mode(x, mode, || {
11611161
let oldval = *sharedstate;
11621162
task::deschedule();
11631163
*sharedstate = oldval + 1;
11641164
})
1165-
})
1165+
}
11661166
}
11671167
}
11681168
#[test]
@@ -1287,7 +1287,7 @@ mod tests {
12871287
let x = RWLock::new();
12881288
let mut ports = ~[];
12891289

1290-
num_waiters.times(|| {
1290+
for _ in range(0, num_waiters) {
12911291
let xi = x.clone();
12921292
let (port, chan) = Chan::new();
12931293
ports.push(port);
@@ -1298,7 +1298,7 @@ mod tests {
12981298
chan.send(());
12991299
})
13001300
});
1301-
});
1301+
}
13021302

13031303
// wait until all children get in the mutex
13041304
for port in ports.mut_iter() { let _ = port.recv(); }
@@ -1388,14 +1388,14 @@ mod tests {
13881388
let barrier = Barrier::new(10);
13891389
let (port, chan) = SharedChan::new();
13901390

1391-
9.times(|| {
1391+
for _ in range(0, 9) {
13921392
let c = barrier.clone();
13931393
let chan = chan.clone();
13941394
spawn(proc() {
13951395
c.wait();
13961396
chan.send(true);
13971397
});
1398-
});
1398+
}
13991399

14001400
// At this point, all spawned tasks should be blocked,
14011401
// so we shouldn't get anything from the port
@@ -1406,8 +1406,8 @@ mod tests {
14061406

14071407
barrier.wait();
14081408
// Now, the barrier is cleared and we should get data.
1409-
9.times(|| {
1409+
for _ in range(0, 9) {
14101410
port.recv();
1411-
});
1411+
}
14121412
}
14131413
}

0 commit comments

Comments
 (0)