migrate many for loops to foreach
This commit is contained in:
parent
5f59c46e0f
commit
1fc4db2d08
255 changed files with 1292 additions and 1294 deletions
|
|
@ -28,7 +28,7 @@ pub fn alist_get<A:Clone + 'static,
|
|||
k: A)
|
||||
-> B {
|
||||
let eq_fn = lst.eq_fn;
|
||||
for lst.data.iter().advance |entry| {
|
||||
foreach entry in lst.data.iter() {
|
||||
if eq_fn(entry.key.clone(), k.clone()) {
|
||||
return entry.value.clone();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ fn make_graph(N: uint, edges: ~[(node_id, node_id)]) -> graph {
|
|||
HashSet::new()
|
||||
};
|
||||
|
||||
for edges.iter().advance |e| {
|
||||
foreach e in edges.iter() {
|
||||
match *e {
|
||||
(i, j) => {
|
||||
graph[i].insert(j);
|
||||
|
|
@ -98,7 +98,7 @@ fn make_graph(N: uint, edges: ~[(node_id, node_id)]) -> graph {
|
|||
|
||||
do graph.consume_iter().transform |v| {
|
||||
let mut vec = ~[];
|
||||
for v.consume().advance |i| {
|
||||
foreach i in v.consume() {
|
||||
vec.push(i);
|
||||
}
|
||||
vec
|
||||
|
|
@ -119,7 +119,7 @@ fn gen_search_keys(graph: &[~[node_id]], n: uint) -> ~[node_id] {
|
|||
}
|
||||
}
|
||||
let mut vec = ~[];
|
||||
for keys.consume().advance |i| {
|
||||
foreach i in keys.consume() {
|
||||
vec.push(i);
|
||||
}
|
||||
return vec;
|
||||
|
|
@ -435,7 +435,7 @@ fn main() {
|
|||
let stop = time::precise_time_s();
|
||||
|
||||
let mut total_edges = 0;
|
||||
for graph.iter().advance |edges| { total_edges += edges.len(); }
|
||||
foreach edges in graph.iter() { total_edges += edges.len(); }
|
||||
|
||||
io::stdout().write_line(fmt!("Generated graph with %? edges in %? seconds.",
|
||||
total_edges / 2,
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ fn run(args: &[~str]) {
|
|||
server(&from_parent, &to_parent);
|
||||
}
|
||||
|
||||
for worker_results.iter().advance |r| {
|
||||
foreach r in worker_results.iter() {
|
||||
r.recv();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ fn run(args: &[~str]) {
|
|||
server(&from_parent, &to_parent);
|
||||
}
|
||||
|
||||
for worker_results.iter().advance |r| {
|
||||
foreach r in worker_results.iter() {
|
||||
r.recv();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ fn main() {
|
|||
thread_ring(0, msg_per_task, num_chan.take(), num_port);
|
||||
|
||||
// synchronize
|
||||
for futures.mut_iter().advance |f| {
|
||||
foreach f in futures.mut_iter() {
|
||||
f.get()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ fn main() {
|
|||
thread_ring(0, msg_per_task, num_chan.take(), num_port);
|
||||
|
||||
// synchronize
|
||||
for futures.mut_iter().advance |f| {
|
||||
foreach f in futures.mut_iter() {
|
||||
let _ = f.get();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ fn main() {
|
|||
thread_ring(0, msg_per_task, num_chan.take(), num_port);
|
||||
|
||||
// synchronize
|
||||
for futures.mut_iter().advance |f| {
|
||||
foreach f in futures.mut_iter() {
|
||||
let _ = f.get();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ use std::uint;
|
|||
|
||||
fn print_complements() {
|
||||
let all = [Blue, Red, Yellow];
|
||||
for all.iter().advance |aa| {
|
||||
for all.iter().advance |bb| {
|
||||
foreach aa in all.iter() {
|
||||
foreach bb in all.iter() {
|
||||
println(show_color(*aa) + " + " + show_color(*bb) +
|
||||
" -> " + show_color(transform(*aa, *bb)));
|
||||
}
|
||||
|
|
@ -47,7 +47,7 @@ fn show_color(cc: color) -> ~str {
|
|||
|
||||
fn show_color_list(set: ~[color]) -> ~str {
|
||||
let mut out = ~"";
|
||||
for set.iter().advance |col| {
|
||||
foreach col in set.iter() {
|
||||
out.push_char(' ');
|
||||
out.push_str(show_color(*col));
|
||||
}
|
||||
|
|
@ -180,13 +180,13 @@ fn rendezvous(nn: uint, set: ~[color]) {
|
|||
}
|
||||
|
||||
// tell each creature to stop
|
||||
for to_creature.iter().advance |to_one| {
|
||||
foreach to_one in to_creature.iter() {
|
||||
to_one.send(None);
|
||||
}
|
||||
|
||||
// save each creature's meeting stats
|
||||
let mut report = ~[];
|
||||
for to_creature.iter().advance |_to_one| {
|
||||
foreach _to_one in to_creature.iter() {
|
||||
report.push(from_creatures_log.recv());
|
||||
}
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ fn rendezvous(nn: uint, set: ~[color]) {
|
|||
io::println(show_color_list(set));
|
||||
|
||||
// print each creature's stats
|
||||
for report.iter().advance |rep| {
|
||||
foreach rep in report.iter() {
|
||||
io::println(*rep);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ fn fannkuch_redux(n: i32) -> i32 {
|
|||
r -= 1;
|
||||
}
|
||||
|
||||
for perm.mut_iter().zip(perm1.iter()).advance |(perm_i, perm1_i)| {
|
||||
foreach (perm_i, perm1_i) in perm.mut_iter().zip(perm1.iter()) {
|
||||
*perm_i = *perm1_i;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ static HOMO_SAPIENS: [AminoAcid, ..4] = [
|
|||
fn sum_and_scale(a: &'static [AminoAcid]) -> ~[AminoAcid] {
|
||||
let mut result = ~[];
|
||||
let mut p = 0f32;
|
||||
for a.iter().advance |a_i| {
|
||||
foreach a_i in a.iter() {
|
||||
let mut a_i = *a_i;
|
||||
p += a_i.p;
|
||||
a_i.p = p * LOOKUP_SCALE;
|
||||
|
|
@ -134,7 +134,7 @@ impl RandomFasta {
|
|||
fn make_lookup(a: &[AminoAcid]) -> [AminoAcid, ..LOOKUP_SIZE] {
|
||||
let mut lookup = [ NULL_AMINO_ACID, ..LOOKUP_SIZE ];
|
||||
let mut j = 0;
|
||||
for lookup.mut_iter().enumerate().advance |(i, slot)| {
|
||||
foreach (i, slot) in lookup.mut_iter().enumerate() {
|
||||
while a[j].p < (i as f32) {
|
||||
j += 1;
|
||||
}
|
||||
|
|
@ -150,7 +150,7 @@ impl RandomFasta {
|
|||
|
||||
fn nextc(&mut self) -> u8 {
|
||||
let r = self.rng(1.0);
|
||||
for self.lookup.iter().advance |a| {
|
||||
foreach a in self.lookup.iter() {
|
||||
if a.p >= r {
|
||||
return a.c;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ struct AminoAcids {
|
|||
fn make_cumulative(aa: ~[AminoAcids]) -> ~[AminoAcids] {
|
||||
let mut cp: u32 = 0u32;
|
||||
let mut ans: ~[AminoAcids] = ~[];
|
||||
for aa.iter().advance |a| {
|
||||
foreach a in aa.iter() {
|
||||
cp += a.prob;
|
||||
ans.push(AminoAcids {ch: a.ch, prob: cp});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ fn sort_and_fmt(mm: &HashMap<~[u8], uint>, total: uint) -> ~str {
|
|||
let mut pairs = ~[];
|
||||
|
||||
// map -> [(k,%)]
|
||||
for mm.iter().advance |(key, &val)| {
|
||||
foreach (key, &val) in mm.iter() {
|
||||
pairs.push(((*key).clone(), pct(val, total)));
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ fn sort_and_fmt(mm: &HashMap<~[u8], uint>, total: uint) -> ~str {
|
|||
|
||||
let mut buffer = ~"";
|
||||
|
||||
for pairs_sorted.iter().advance |kv| {
|
||||
foreach kv in pairs_sorted.iter() {
|
||||
let (k,v) = (*kv).clone();
|
||||
unsafe {
|
||||
let b = str::raw::from_bytes(k);
|
||||
|
|
@ -215,7 +215,7 @@ fn main() {
|
|||
(_, true) => {
|
||||
let line_bytes = line.as_bytes();
|
||||
|
||||
for sizes.iter().enumerate().advance |(ii, _sz)| {
|
||||
foreach (ii, _sz) in sizes.iter().enumerate() {
|
||||
let lb = line_bytes.to_owned();
|
||||
to_child[ii].send(lb);
|
||||
}
|
||||
|
|
@ -227,12 +227,12 @@ fn main() {
|
|||
}
|
||||
|
||||
// finish...
|
||||
for sizes.iter().enumerate().advance |(ii, _sz)| {
|
||||
foreach (ii, _sz) in sizes.iter().enumerate() {
|
||||
to_child[ii].send(~[]);
|
||||
}
|
||||
|
||||
// now fetch and print result messages
|
||||
for sizes.iter().enumerate().advance |(ii, _sz)| {
|
||||
foreach (ii, _sz) in sizes.iter().enumerate() {
|
||||
io::println(from_child[ii].recv());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ fn advance(bodies: &mut [Planet, ..N_BODIES], dt: f64, steps: i32) {
|
|||
}
|
||||
}
|
||||
|
||||
for bodies.mut_iter().advance |a| {
|
||||
foreach a in bodies.mut_iter() {
|
||||
a.x[0] += dt * a.v[0];
|
||||
a.x[1] += dt * a.v[1];
|
||||
a.x[2] += dt * a.v[2];
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ fn stress(num_tasks: int) {
|
|||
stress_task(i);
|
||||
}
|
||||
}
|
||||
for results.iter().advance |r| {
|
||||
foreach r in results.iter() {
|
||||
r.recv();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,16 +19,16 @@ fn A(i: i32, j: i32) -> i32 {
|
|||
|
||||
fn dot(v: &[f64], u: &[f64]) -> f64 {
|
||||
let mut sum = 0.0;
|
||||
for v.iter().enumerate().advance |(i, &v_i)| {
|
||||
foreach (i, &v_i) in v.iter().enumerate() {
|
||||
sum += v_i * u[i];
|
||||
}
|
||||
sum
|
||||
}
|
||||
|
||||
fn mult_Av(v: &mut [f64], out: &mut [f64]) {
|
||||
for out.mut_iter().enumerate().advance |(i, out_i)| {
|
||||
foreach (i, out_i) in out.mut_iter().enumerate() {
|
||||
let mut sum = 0.0;
|
||||
for v.mut_iter().enumerate().advance |(j, &v_j)| {
|
||||
foreach (j, &v_j) in v.mut_iter().enumerate() {
|
||||
sum += v_j / (A(i as i32, j as i32) as f64);
|
||||
}
|
||||
*out_i = sum;
|
||||
|
|
@ -36,9 +36,9 @@ fn mult_Av(v: &mut [f64], out: &mut [f64]) {
|
|||
}
|
||||
|
||||
fn mult_Atv(v: &mut [f64], out: &mut [f64]) {
|
||||
for out.mut_iter().enumerate().advance |(i, out_i)| {
|
||||
foreach (i, out_i) in out.mut_iter().enumerate() {
|
||||
let mut sum = 0.0;
|
||||
for v.mut_iter().enumerate().advance |(j, &v_j)| {
|
||||
foreach (j, &v_j) in v.mut_iter().enumerate() {
|
||||
sum += v_j / (A(j as i32, i as i32) as f64);
|
||||
}
|
||||
*out_i = sum;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ struct Foo {
|
|||
|
||||
impl Foo {
|
||||
pub fn foo(&mut self, fun: &fn(&int)) {
|
||||
for self.n.iter().advance |f| {
|
||||
foreach f in self.n.iter() {
|
||||
fun(f);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
fn main() {
|
||||
let v = @mut [ 1, 2, 3 ];
|
||||
for v.iter().advance |_x| {
|
||||
foreach _x in v.iter() {
|
||||
v[1] = 4; //~ ERROR cannot assign
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ trait vec_monad<A> {
|
|||
impl<A> vec_monad<A> for ~[A] {
|
||||
fn bind<B>(&self, f: &fn(A) -> ~[B]) {
|
||||
let mut r = fail!();
|
||||
for self.iter().advance |elt| { r = r + f(*elt); }
|
||||
foreach elt in self.iter() { r = r + f(*elt); }
|
||||
//~^ WARNING unreachable expression
|
||||
//~^^ ERROR the type of this value must be known
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
fn fail_len(v: ~[int]) -> uint {
|
||||
let mut i = 3;
|
||||
fail!();
|
||||
for v.iter().advance |x| { i += 1u; }
|
||||
foreach x in v.iter() { i += 1u; }
|
||||
//~^ ERROR: unreachable statement
|
||||
return i;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ fn main() {
|
|||
('c', 'd'),
|
||||
('e', 'f')];
|
||||
|
||||
for v.iter().advance |&(x,y)| {} // should be OK
|
||||
foreach &(x,y) in v.iter() {} // should be OK
|
||||
|
||||
// Make sure none of the errors above were fatal
|
||||
let x: char = true; //~ ERROR expected `char` but found `bool`
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
fn main() {
|
||||
let mut xs = ~[1, 2, 3, 4];
|
||||
|
||||
for xs.mut_iter().advance |x| {
|
||||
foreach x in xs.mut_iter() {
|
||||
xs.push(1) //~ ERROR cannot borrow `xs` as mutable
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ fn main() {
|
|||
'\xA0', '\u1680', '\u180E', '\u2000', '\u2001', '\u2002', '\u2003',
|
||||
'\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200A',
|
||||
'\u2028', '\u2029', '\u202F', '\u205F', '\u3000'];
|
||||
for chars.iter().advance |c| {
|
||||
foreach c in chars.iter() {
|
||||
let ws = c.is_whitespace();
|
||||
println(fmt!("%? %?" , c , ws));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ fn main() {
|
|||
'\xA0', '\u1680', '\u180E', '\u2000', '\u2001', '\u2002', '\u2003',
|
||||
'\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200A',
|
||||
'\u2028', '\u2029', '\u202F', '\u205F', '\u3000'];
|
||||
for chars.iter().advance |c| {
|
||||
foreach c in chars.iter() {
|
||||
let ws = c.is_whitespace();
|
||||
println(fmt!("%? %?", c , ws));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
fn f(v: &[int]) {
|
||||
let mut n = 0;
|
||||
for v.iter().advance |e| {
|
||||
foreach e in v.iter() {
|
||||
n = *e; // This comment once triggered pretty printer bug
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
pub fn main() {
|
||||
let mut sum = 0;
|
||||
let xs = ~[1, 2, 3, 4, 5];
|
||||
for xs.iter().advance |x| {
|
||||
foreach x in xs.iter() {
|
||||
sum += *x;
|
||||
}
|
||||
assert_eq!(sum, 15);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ pub fn main() {
|
|||
let v = ~[-1f, 0f, 1f, 2f, 3f];
|
||||
|
||||
// Statement form does not require parentheses:
|
||||
for v.iter().advance |i| {
|
||||
foreach i in v.iter() {
|
||||
info!("%?", *i);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
// xfail-fast
|
||||
|
||||
fn iter_vec<T>(v: ~[T], f: &fn(&T)) { for v.iter().advance |x| { f(x); } }
|
||||
fn iter_vec<T>(v: ~[T], f: &fn(&T)) { foreach x in v.iter() { f(x); } }
|
||||
|
||||
pub fn main() {
|
||||
let v = ~[1, 2, 3, 4, 5, 6, 7];
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
// xfail-fast
|
||||
|
||||
fn iter_vec<T>(v: ~[T], f: &fn(&T)) { for v.iter().advance |x| { f(x); } }
|
||||
fn iter_vec<T>(v: ~[T], f: &fn(&T)) { foreach x in v.iter() { f(x); } }
|
||||
|
||||
pub fn main() {
|
||||
let v = ~[1, 2, 3, 4, 5];
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
fn sum_slice(x: &[int]) -> int {
|
||||
let mut sum = 0;
|
||||
for x.iter().advance |i| { sum += *i; }
|
||||
foreach i in x.iter() { sum += *i; }
|
||||
return sum;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
fn want_slice(v: &[int]) -> int {
|
||||
let mut sum = 0;
|
||||
for v.iter().advance |i| { sum += *i; }
|
||||
foreach i in v.iter() { sum += *i; }
|
||||
sum
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ struct Wizard {
|
|||
|
||||
impl Wizard {
|
||||
pub fn cast(&mut self) {
|
||||
for self.spells.iter().advance |&spell| {
|
||||
foreach &spell in self.spells.iter() {
|
||||
println(spell);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ pub fn main() {
|
|||
loop { i += 1; if i == 20 { break; } }
|
||||
assert_eq!(i, 20);
|
||||
let xs = [1, 2, 3, 4, 5, 6];
|
||||
for xs.iter().advance |x| {
|
||||
foreach x in xs.iter() {
|
||||
if *x == 3 { break; } assert!((*x <= 3));
|
||||
}
|
||||
i = 0;
|
||||
|
|
@ -28,7 +28,7 @@ pub fn main() {
|
|||
if i >= 10 { break; }
|
||||
}
|
||||
let ys = ~[1, 2, 3, 4, 5, 6];
|
||||
for ys.iter().advance |x| {
|
||||
foreach x in ys.iter() {
|
||||
if *x % 2 == 0 { loop; }
|
||||
assert!((*x % 2 != 0));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
fn sum(x: &[int]) -> int {
|
||||
let mut sum = 0;
|
||||
for x.iter().advance |y| { sum += *y; }
|
||||
foreach y in x.iter() { sum += *y; }
|
||||
return sum;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@ struct S<'self>(&'self fn());
|
|||
static closures: &'static [S<'static>] = &[S(f), S(f)];
|
||||
|
||||
pub fn main() {
|
||||
for bare_fns.iter().advance |&bare_fn| { bare_fn() }
|
||||
for closures.iter().advance |&closure| { (*closure)() }
|
||||
foreach &bare_fn in bare_fns.iter() { bare_fn() }
|
||||
foreach &closure in closures.iter() { (*closure)() }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ pub fn main() {
|
|||
// in order for both Ord and TotalOrd
|
||||
let es = [e0, e11, e12, e21, e22];
|
||||
|
||||
for es.iter().enumerate().advance |(i, e1)| {
|
||||
for es.iter().enumerate().advance |(j, e2)| {
|
||||
foreach (i, e1) in es.iter().enumerate() {
|
||||
foreach (j, e2) in es.iter().enumerate() {
|
||||
let ord = i.cmp(&j);
|
||||
|
||||
let eq = i == j;
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ pub fn main() {
|
|||
// in order for both Ord and TotalOrd
|
||||
let ss = [s1, s2];
|
||||
|
||||
for ss.iter().enumerate().advance |(i, s1)| {
|
||||
for ss.iter().enumerate().advance |(j, s2)| {
|
||||
foreach (i, s1) in ss.iter().enumerate() {
|
||||
foreach (j, s2) in ss.iter().enumerate() {
|
||||
let ord = i.cmp(&j);
|
||||
|
||||
let eq = i == j;
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ pub fn main() {
|
|||
// in order for both Ord and TotalOrd
|
||||
let tss = [ts1, ts2];
|
||||
|
||||
for tss.iter().enumerate().advance |(i, ts1)| {
|
||||
for tss.iter().enumerate().advance |(j, ts2)| {
|
||||
foreach (i, ts1) in tss.iter().enumerate() {
|
||||
foreach (j, ts2) in tss.iter().enumerate() {
|
||||
let ord = i.cmp(&j);
|
||||
|
||||
let eq = i == j;
|
||||
|
|
|
|||
|
|
@ -16,10 +16,10 @@ struct Box {
|
|||
|
||||
impl Box {
|
||||
pub fn set_many(&mut self, xs: &[uint]) {
|
||||
for xs.iter().advance |x| { self.x = *x; }
|
||||
foreach x in xs.iter() { self.x = *x; }
|
||||
}
|
||||
pub fn set_many2(@mut self, xs: &[uint]) {
|
||||
for xs.iter().advance |x| { self.x = *x; }
|
||||
foreach x in xs.iter() { self.x = *x; }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
pub fn main() {
|
||||
let v : &[(int,int)] = &[ (1, 2), (3, 4), (5, 6) ];
|
||||
for v.iter().advance |&(x, y)| {
|
||||
foreach &(x, y) in v.iter() {
|
||||
println(y.to_str());
|
||||
println(x.to_str());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
pub fn main() { let x: ~[int] = ~[]; for x.iter().advance |_| { fail!("moop"); } }
|
||||
pub fn main() { let x: ~[int] = ~[]; foreach _ in x.iter() { fail!("moop"); } }
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ trait vec_utils<T> {
|
|||
impl<T> vec_utils<T> for ~[T] {
|
||||
fn map_<U>(x: &~[T], f: &fn(&T) -> U) -> ~[U] {
|
||||
let mut r = ~[];
|
||||
for x.iter().advance |elt| {
|
||||
foreach elt in x.iter() {
|
||||
r.push(f(elt));
|
||||
}
|
||||
r
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ mod map_reduce {
|
|||
enum ctrl_proto { find_reducer(~[u8], Chan<int>), mapper_done, }
|
||||
|
||||
fn start_mappers(ctrl: SharedChan<ctrl_proto>, inputs: ~[~str]) {
|
||||
for inputs.iter().advance |i| {
|
||||
foreach i in inputs.iter() {
|
||||
let ctrl = ctrl.clone();
|
||||
let i = i.clone();
|
||||
task::spawn(|| map_task(ctrl.clone(), i.clone()) );
|
||||
|
|
|
|||
|
|
@ -67,13 +67,13 @@ fn read_board_grid<rdr:'static + io::Reader>(input: rdr) -> ~[~[square]] {
|
|||
let mut grid = ~[];
|
||||
for input.each_line |line| {
|
||||
let mut row = ~[];
|
||||
for line.iter().advance |c| {
|
||||
foreach c in line.iter() {
|
||||
row.push(square_from_char(c))
|
||||
}
|
||||
grid.push(row)
|
||||
}
|
||||
let width = grid[0].len();
|
||||
for grid.iter().advance |row| { assert!(row.len() == width) }
|
||||
foreach row in grid.iter() { assert!(row.len() == width) }
|
||||
grid
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ struct trie_node {
|
|||
}
|
||||
|
||||
fn print_str_vector(vector: ~[~str]) {
|
||||
for vector.iter().advance |string| {
|
||||
foreach string in vector.iter() {
|
||||
println(*string);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
trait Canvas {
|
||||
fn add_point(&self, point: &int);
|
||||
fn add_points(&self, shapes: &[int]) {
|
||||
for shapes.iter().advance |pt| {
|
||||
foreach pt in shapes.iter() {
|
||||
self.add_point(pt)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ trait Canvas {
|
|||
// Unlike interfaces traits support default implementations.
|
||||
// Got an ICE as soon as I added this method.
|
||||
fn add_points(&mut self, shapes: &[Point]) {
|
||||
for shapes.iter().advance |pt| {self.add_point(*pt)};
|
||||
foreach pt in shapes.iter() {self.add_point(*pt)};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ priv fn cmd_to_str(cmd: ~[~str]) -> ~str {
|
|||
let mut res = ~"*";
|
||||
res.push_str(cmd.len().to_str());
|
||||
res.push_str("\r\n");
|
||||
for cmd.iter().advance |s| {
|
||||
foreach s in cmd.iter() {
|
||||
res.push_str([~"$", s.len().to_str(), ~"\r\n",
|
||||
(*s).clone(), ~"\r\n"].concat() );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ use std::os;
|
|||
|
||||
pub fn main() {
|
||||
let x = os::args();
|
||||
for x.iter().advance |arg| {
|
||||
foreach arg in x.iter() {
|
||||
match arg.clone() {
|
||||
s => { }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
pub fn main() {
|
||||
let x = ~[1, 2, 3];
|
||||
let mut y = 0;
|
||||
for x.iter().advance |i| { info!(*i); y += *i; }
|
||||
foreach i in x.iter() { info!(*i); y += *i; }
|
||||
info!(y);
|
||||
assert_eq!(y, 6);
|
||||
let s = ~"hello there";
|
||||
let mut i: int = 0;
|
||||
for s.byte_iter().advance |c| {
|
||||
foreach c in s.byte_iter() {
|
||||
if i == 0 { assert!((c == 'h' as u8)); }
|
||||
if i == 1 { assert!((c == 'e' as u8)); }
|
||||
if i == 2 { assert!((c == 'l' as u8)); }
|
||||
|
|
|
|||
|
|
@ -11,6 +11,6 @@
|
|||
pub fn main() {
|
||||
let x = ~[10, 20, 30];
|
||||
let mut sum = 0;
|
||||
for x.iter().advance |x| { sum += *x; }
|
||||
foreach x in x.iter() { sum += *x; }
|
||||
assert_eq!(sum, 60);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ trait vec_monad<A> {
|
|||
impl<A> vec_monad<A> for ~[A] {
|
||||
fn bind<B>(&self, f: &fn(&A) -> ~[B]) -> ~[B] {
|
||||
let mut r = ~[];
|
||||
for self.iter().advance |elt| {
|
||||
foreach elt in self.iter() {
|
||||
r.push_all_move(f(elt));
|
||||
}
|
||||
r
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ pub fn main() {
|
|||
calllink10
|
||||
];
|
||||
let mut rng = rand::rng();
|
||||
for fns.iter().advance |f| {
|
||||
foreach f in fns.iter() {
|
||||
let f = *f;
|
||||
let sz = rng.next() % 256u32 + 256u32;
|
||||
let frame_backoff = rng.next() % 10u32 + 1u32;
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ fn test1() {
|
|||
|
||||
fn test2() {
|
||||
let mut ints = [0, ..32];
|
||||
for ints.mut_iter().advance |i| { *i += 22; }
|
||||
for ints.iter().advance |i| { assert!(*i == 22); }
|
||||
foreach i in ints.mut_iter() { *i += 22; }
|
||||
foreach i in ints.iter() { assert!(*i == 22); }
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ impl<K,V> AssociationList<K,V> {
|
|||
|
||||
impl<K:Eq,V:Clone> Index<K,V> for AssociationList<K,V> {
|
||||
fn index(&self, index: &K) -> V {
|
||||
for self.pairs.iter().advance |pair| {
|
||||
foreach pair in self.pairs.iter() {
|
||||
if pair.key == *index {
|
||||
return pair.value.clone();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ fn main() {
|
|||
assert_eq!(foos[i], Foo { bar: 1, baz: 2});
|
||||
}
|
||||
|
||||
for foos.iter().advance |&foo| {
|
||||
foreach &foo in foos.iter() {
|
||||
assert_eq!(foo, Foo { bar: 1, baz: 2 });
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -666,7 +666,7 @@ pub fn main() {
|
|||
visit_tydesc(td, v);
|
||||
|
||||
let r = u.vals.clone();
|
||||
for r.iter().advance |s| {
|
||||
foreach s in r.iter() {
|
||||
printfln!("val: %s", *s);
|
||||
}
|
||||
error!("%?", u.vals.clone());
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ pub fn main() {
|
|||
visit_ty::<i16>(vv);
|
||||
visit_ty::<~[int]>(vv);
|
||||
|
||||
for v.types.iter().advance |s| {
|
||||
foreach s in v.types.iter() {
|
||||
printfln!("type: %s", (*s).clone());
|
||||
}
|
||||
assert_eq!((*v.types).clone(), ~[~"bool", ~"int", ~"i8", ~"i16", ~"[", ~"int", ~"]"]);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ fn foo(c: ~[int]) {
|
|||
|
||||
match none::<int> {
|
||||
some::<int>(_) => {
|
||||
for c.iter().advance |i| {
|
||||
foreach i in c.iter() {
|
||||
info!(a);
|
||||
let a = 17;
|
||||
b.push(a);
|
||||
|
|
|
|||
|
|
@ -48,10 +48,10 @@ trait vec_utils<T> {
|
|||
|
||||
impl<T> vec_utils<T> for ~[T] {
|
||||
fn length_(&self) -> uint { self.len() }
|
||||
fn iter_(&self, f: &fn(&T)) { for self.iter().advance |x| { f(x); } }
|
||||
fn iter_(&self, f: &fn(&T)) { foreach x in self.iter() { f(x); } }
|
||||
fn map_<U>(&self, f: &fn(&T) -> U) -> ~[U] {
|
||||
let mut r = ~[];
|
||||
for self.iter().advance |elt| {
|
||||
foreach elt in self.iter() {
|
||||
r.push(f(elt));
|
||||
}
|
||||
r
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ fn test00() {
|
|||
|
||||
// Read from spawned tasks...
|
||||
let mut sum = 0;
|
||||
for results.iter().advance |r| {
|
||||
foreach r in results.iter() {
|
||||
i = 0;
|
||||
while i < number_of_messages {
|
||||
let value = po.recv();
|
||||
|
|
@ -64,7 +64,7 @@ fn test00() {
|
|||
}
|
||||
|
||||
// Join spawned tasks...
|
||||
for results.iter().advance |r| { r.recv(); }
|
||||
foreach r in results.iter() { r.recv(); }
|
||||
|
||||
info!("Completed: Final number is: ");
|
||||
error!(sum);
|
||||
|
|
|
|||
|
|
@ -84,20 +84,20 @@ fn main() {
|
|||
|
||||
fn check_legs(arc: arc::Arc<~[~Pet:Freeze+Send]>) {
|
||||
let mut legs = 0;
|
||||
for arc.get().iter().advance |pet| {
|
||||
foreach pet in arc.get().iter() {
|
||||
legs += pet.num_legs();
|
||||
}
|
||||
assert!(legs == 12);
|
||||
}
|
||||
fn check_names(arc: arc::Arc<~[~Pet:Freeze+Send]>) {
|
||||
for arc.get().iter().advance |pet| {
|
||||
foreach pet in arc.get().iter() {
|
||||
do pet.name |name| {
|
||||
assert!(name[0] == 'a' as u8 && name[1] == 'l' as u8);
|
||||
}
|
||||
}
|
||||
}
|
||||
fn check_pedigree(arc: arc::Arc<~[~Pet:Freeze+Send]>) {
|
||||
for arc.get().iter().advance |pet| {
|
||||
foreach pet in arc.get().iter() {
|
||||
assert!(pet.of_good_pedigree());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ fn main() {
|
|||
|
||||
let mut it = Unfoldr::new(0, count);
|
||||
let mut i = 0;
|
||||
for it.advance |counted| {
|
||||
foreach counted in it {
|
||||
assert_eq!(counted, i);
|
||||
i += 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ pub fn main() {
|
|||
|
||||
fn check_str_eq(a: ~str, b: ~str) {
|
||||
let mut i: int = 0;
|
||||
for a.byte_iter().advance |ab| {
|
||||
foreach ab in a.byte_iter() {
|
||||
info!(i);
|
||||
info!(ab);
|
||||
let bb: u8 = b[i];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue