From 10089455287dcc3652b984ab4bfd6971e1b5f302 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sat, 3 Aug 2013 12:45:23 -0400 Subject: [PATCH] remove obsolete `foreach` keyword this has been replaced by `for` --- doc/po/rust.md.pot | 6 +- doc/po/tutorial-container.md.pot | 10 +- doc/po/tutorial-tasks.md.pot | 2 +- doc/po/tutorial.md.pot | 10 +- doc/rust.md | 8 +- doc/tutorial-tasks.md | 10 +- src/compiletest/compiletest.rs | 6 +- src/compiletest/procsrv.rs | 2 +- src/compiletest/runtest.rs | 20 +-- src/etc/check-links.pl | 4 +- src/libextra/arc.rs | 6 +- src/libextra/arena.rs | 4 +- src/libextra/base64.rs | 2 +- src/libextra/bitv.rs | 42 +++--- src/libextra/container.rs | 8 +- src/libextra/crypto/digest.rs | 2 +- src/libextra/crypto/sha1.rs | 4 +- src/libextra/crypto/sha2.rs | 4 +- src/libextra/dlist.rs | 18 +-- src/libextra/fileinput.rs | 16 +-- src/libextra/flatpipes.rs | 20 +-- src/libextra/getopts.rs | 10 +- src/libextra/iter.rs | 2 +- src/libextra/json.rs | 20 +-- src/libextra/num/bigint.rs | 56 ++++---- src/libextra/num/complex.rs | 16 +-- src/libextra/num/rational.rs | 4 +- src/libextra/priority_queue.rs | 6 +- src/libextra/ringbuf.rs | 36 ++--- src/libextra/serialize.rs | 36 ++--- src/libextra/smallintmap.rs | 12 +- src/libextra/sort.rs | 16 +-- src/libextra/stats.rs | 4 +- src/libextra/sync.rs | 12 +- src/libextra/task_pool.rs | 2 +- src/libextra/tempfile.rs | 2 +- src/libextra/terminfo/parm.rs | 10 +- src/libextra/terminfo/parser/compiled.rs | 8 +- src/libextra/terminfo/searcher.rs | 4 +- src/libextra/test.rs | 24 ++-- src/libextra/time.rs | 10 +- src/libextra/treemap.rs | 40 +++--- src/libextra/url.rs | 14 +- src/libextra/workcache.rs | 2 +- src/librust/rust.rs | 4 +- src/librustc/back/link.rs | 24 ++-- src/librustc/back/passes.rs | 16 +-- src/librustc/back/rpath.rs | 8 +- src/librustc/driver/driver.rs | 12 +- src/librustc/front/test.rs | 2 +- src/librustc/metadata/creader.rs | 12 +- src/librustc/metadata/cstore.rs | 8 +- src/librustc/metadata/decoder.rs | 10 +- src/librustc/metadata/encoder.rs | 78 +++++------ src/librustc/metadata/filesearch.rs | 2 +- src/librustc/metadata/loader.rs | 6 +- src/librustc/metadata/tyencode.rs | 10 +- src/librustc/middle/astencode.rs | 22 ++-- src/librustc/middle/borrowck/check_loans.rs | 14 +- .../borrowck/gather_loans/gather_moves.rs | 2 +- .../middle/borrowck/gather_loans/mod.rs | 10 +- .../borrowck/gather_loans/restrictions.rs | 6 +- src/librustc/middle/borrowck/mod.rs | 2 +- src/librustc/middle/borrowck/move_data.rs | 12 +- src/librustc/middle/cfg/construct.rs | 10 +- src/librustc/middle/check_const.rs | 4 +- src/librustc/middle/check_match.rs | 28 ++-- src/librustc/middle/const_eval.rs | 2 +- src/librustc/middle/dataflow.rs | 30 ++--- src/librustc/middle/entry.rs | 2 +- src/librustc/middle/graph.rs | 2 +- src/librustc/middle/kind.rs | 10 +- src/librustc/middle/lang_items.rs | 2 +- src/librustc/middle/lint.rs | 42 +++--- src/librustc/middle/liveness.rs | 26 ++-- src/librustc/middle/mem_categorization.rs | 22 ++-- src/librustc/middle/moves.rs | 36 ++--- src/librustc/middle/privacy.rs | 18 +-- src/librustc/middle/reachable.rs | 12 +- src/librustc/middle/region.rs | 14 +- src/librustc/middle/resolve.rs | 124 +++++++++--------- src/librustc/middle/trans/_match.rs | 58 ++++---- src/librustc/middle/trans/adt.rs | 4 +- src/librustc/middle/trans/asm.rs | 6 +- src/librustc/middle/trans/base.rs | 52 ++++---- src/librustc/middle/trans/builder.rs | 2 +- src/librustc/middle/trans/cabi.rs | 4 +- src/librustc/middle/trans/cabi_arm.rs | 2 +- src/librustc/middle/trans/cabi_mips.rs | 2 +- src/librustc/middle/trans/cabi_x86_64.rs | 8 +- src/librustc/middle/trans/callee.rs | 10 +- src/librustc/middle/trans/closure.rs | 8 +- src/librustc/middle/trans/common.rs | 8 +- src/librustc/middle/trans/controlflow.rs | 6 +- src/librustc/middle/trans/expr.rs | 14 +- src/librustc/middle/trans/foreign.rs | 10 +- src/librustc/middle/trans/glue.rs | 6 +- src/librustc/middle/trans/inline.rs | 2 +- src/librustc/middle/trans/meth.rs | 4 +- src/librustc/middle/trans/monomorphize.rs | 4 +- src/librustc/middle/trans/reflect.rs | 12 +- src/librustc/middle/trans/tvec.rs | 6 +- src/librustc/middle/trans/type_use.rs | 42 +++--- src/librustc/middle/ty.rs | 46 +++---- src/librustc/middle/typeck/astconv.rs | 2 +- src/librustc/middle/typeck/check/_match.rs | 34 ++--- src/librustc/middle/typeck/check/method.rs | 16 +-- src/librustc/middle/typeck/check/mod.rs | 42 +++--- src/librustc/middle/typeck/check/regionck.rs | 38 +++--- .../middle/typeck/check/regionmanip.rs | 14 +- src/librustc/middle/typeck/check/vtable.rs | 2 +- src/librustc/middle/typeck/check/writeback.rs | 14 +- src/librustc/middle/typeck/coherence.rs | 22 ++-- src/librustc/middle/typeck/collect.rs | 22 ++-- .../middle/typeck/infer/error_reporting.rs | 2 +- src/librustc/middle/typeck/infer/glb.rs | 2 +- src/librustc/middle/typeck/infer/mod.rs | 2 +- .../typeck/infer/region_inference/mod.rs | 20 +-- src/librustc/middle/typeck/infer/sub.rs | 2 +- src/librustc/middle/typeck/infer/test.rs | 6 +- src/librustc/middle/typeck/rscope.rs | 4 +- src/librustc/rustc.rs | 8 +- src/librustc/util/ppaux.rs | 10 +- src/librustdoc/config.rs | 2 +- src/librustdoc/extract.rs | 2 +- src/librustdoc/markdown_pass.rs | 14 +- src/librustdoc/sectionalize_pass.rs | 2 +- src/librusti/program.rs | 24 ++-- src/librusti/rusti.rs | 12 +- src/librustpkg/installed_packages.rs | 6 +- src/librustpkg/package_source.rs | 6 +- src/librustpkg/path_util.rs | 12 +- src/librustpkg/rustpkg.rs | 4 +- src/librustpkg/tests.rs | 10 +- src/librustpkg/util.rs | 10 +- src/librustpkg/version.rs | 8 +- src/librustpkg/workspace.rs | 2 +- src/libstd/at_vec.rs | 10 +- src/libstd/cmp.rs | 2 +- src/libstd/either.rs | 6 +- src/libstd/hash.rs | 4 +- src/libstd/hashmap.rs | 40 +++--- src/libstd/io.rs | 16 +-- src/libstd/iterator.rs | 56 ++++---- src/libstd/option.rs | 2 +- src/libstd/os.rs | 16 +-- src/libstd/path.rs | 14 +- src/libstd/pipes.rs | 8 +- src/libstd/rand.rs | 12 +- src/libstd/repr.rs | 2 +- src/libstd/result.rs | 2 +- src/libstd/rt/args.rs | 2 +- src/libstd/rt/borrowck.rs | 2 +- src/libstd/rt/io/net/tcp.rs | 8 +- src/libstd/rt/mod.rs | 4 +- src/libstd/rt/sched.rs | 4 +- src/libstd/rt/select.rs | 14 +- src/libstd/rt/test.rs | 8 +- src/libstd/rt/tube.rs | 2 +- src/libstd/rt/uv/net.rs | 8 +- src/libstd/rt/uv/uvio.rs | 10 +- src/libstd/run.rs | 24 ++-- src/libstd/str.rs | 60 ++++----- src/libstd/str/ascii.rs | 2 +- src/libstd/task/local_data_priv.rs | 2 +- src/libstd/task/spawn.rs | 10 +- src/libstd/to_str.rs | 10 +- src/libstd/trie.rs | 16 +-- src/libstd/unstable/extfmt.rs | 10 +- src/libstd/unstable/sync.rs | 6 +- src/libstd/vec.rs | 70 +++++----- src/libsyntax/abi.rs | 8 +- src/libsyntax/ast_map.rs | 14 +- src/libsyntax/ast_util.rs | 16 +-- src/libsyntax/attr.rs | 4 +- src/libsyntax/codemap.rs | 6 +- src/libsyntax/diagnostic.rs | 6 +- src/libsyntax/ext/bytes.rs | 4 +- src/libsyntax/ext/concat_idents.rs | 2 +- src/libsyntax/ext/deriving/decodable.rs | 6 +- src/libsyntax/ext/deriving/encodable.rs | 4 +- src/libsyntax/ext/deriving/generic.rs | 26 ++-- src/libsyntax/ext/deriving/iter_bytes.rs | 2 +- src/libsyntax/ext/deriving/to_str.rs | 2 +- src/libsyntax/ext/expand.rs | 4 +- src/libsyntax/ext/fmt.rs | 8 +- src/libsyntax/ext/quote.rs | 2 +- src/libsyntax/ext/tt/macro_parser.rs | 12 +- src/libsyntax/ext/tt/macro_rules.rs | 2 +- src/libsyntax/fold.rs | 2 +- src/libsyntax/oldvisit.rs | 78 +++++------ src/libsyntax/parse/comments.rs | 4 +- src/libsyntax/parse/lexer.rs | 2 +- src/libsyntax/parse/parser.rs | 14 +- src/libsyntax/parse/token.rs | 17 +-- src/libsyntax/print/pprust.rs | 74 +++++------ src/libsyntax/util/interner.rs | 4 +- src/libsyntax/visit.rs | 80 +++++------ src/test/auxiliary/cci_nested_lib.rs | 2 +- src/test/bench/core-map.rs | 12 +- src/test/bench/core-set.rs | 16 +-- src/test/bench/core-std.rs | 8 +- src/test/bench/core-uint-to-str.rs | 2 +- src/test/bench/graph500-bfs.rs | 8 +- src/test/bench/msgsend-pipes-shared.rs | 6 +- src/test/bench/msgsend-pipes.rs | 6 +- src/test/bench/msgsend-ring-mutex-arcs.rs | 6 +- src/test/bench/msgsend-ring-rw-arcs.rs | 6 +- src/test/bench/noise.rs | 12 +- src/test/bench/shootout-chameneos-redux.rs | 12 +- src/test/bench/shootout-fannkuch-redux.rs | 4 +- src/test/bench/shootout-fasta-redux.rs | 10 +- src/test/bench/shootout-fasta.rs | 6 +- src/test/bench/shootout-k-nucleotide-pipes.rs | 10 +- src/test/bench/shootout-k-nucleotide.rs | 2 +- src/test/bench/shootout-mandelbrot.rs | 6 +- src/test/bench/shootout-nbody.rs | 18 +-- src/test/bench/shootout-pfib.rs | 8 +- src/test/bench/shootout-spectralnorm.rs | 10 +- src/test/bench/std-smallintmap.rs | 6 +- src/test/bench/sudoku.rs | 18 +-- .../borrowck-insert-during-each.rs | 2 +- .../compile-fail/borrowck-mut-boxed-vec.rs | 2 +- src/test/compile-fail/issue-2149.rs | 2 +- src/test/compile-fail/issue-2150.rs | 2 +- src/test/compile-fail/issue-5100.rs | 2 +- src/test/compile-fail/vec-mut-iter-borrow.rs | 2 +- src/test/pretty/block-comment-wchar.pp | 2 +- src/test/pretty/block-comment-wchar.rs | 2 +- src/test/pretty/for-comment.rs | 2 +- src/test/run-fail/for-each-loop-fail.rs | 2 +- src/test/run-fail/unwind-misc-1.rs | 2 +- src/test/run-pass/auto-loop.rs | 2 +- src/test/run-pass/block-arg.rs | 2 +- src/test/run-pass/block-iter-1.rs | 2 +- src/test/run-pass/block-iter-2.rs | 2 +- .../run-pass/borrowck-borrow-from-at-vec.rs | 2 +- .../run-pass/borrowck-mut-vec-as-imm-slice.rs | 2 +- .../borrowck-wg-borrow-mut-to-imm-3.rs | 2 +- src/test/run-pass/break.rs | 4 +- .../class-cast-to-trait-multiple-types.rs | 2 +- .../class-impl-parameterized-trait.rs | 2 +- .../class-impl-very-parameterized-trait.rs | 4 +- .../class-implement-trait-cross-crate.rs | 2 +- src/test/run-pass/class-implement-traits.rs | 2 +- .../class-implements-multiple-traits.rs | 2 +- src/test/run-pass/classes-cross-crate.rs | 2 +- src/test/run-pass/classes.rs | 2 +- .../run-pass/coerce-reborrow-imm-vec-arg.rs | 2 +- src/test/run-pass/const-vec-of-fns.rs | 4 +- .../run-pass/deriving-cmp-generic-enum.rs | 4 +- .../run-pass/deriving-cmp-generic-struct.rs | 4 +- .../deriving-cmp-generic-tuple-struct.rs | 4 +- src/test/run-pass/explicit-self-closures.rs | 4 +- .../run-pass/fn-pattern-expected-type-2.rs | 2 +- src/test/run-pass/for-loop-fail.rs | 2 +- .../foreach-external-iterators-break.rs | 2 +- ...xternal-iterators-hashmap-break-restart.rs | 6 +- .../foreach-external-iterators-hashmap.rs | 4 +- .../foreach-external-iterators-loop.rs | 2 +- .../foreach-external-iterators-nested.rs | 4 +- .../run-pass/foreach-external-iterators.rs | 2 +- src/test/run-pass/generic-static-methods.rs | 2 +- src/test/run-pass/hashmap-memory.rs | 2 +- src/test/run-pass/issue-2904.rs | 4 +- src/test/run-pass/issue-2989.rs | 2 +- src/test/run-pass/issue-3389.rs | 2 +- src/test/run-pass/issue-3563-2.rs | 2 +- src/test/run-pass/issue-3563-3.rs | 6 +- src/test/run-pass/issue-3609.rs | 2 +- src/test/run-pass/issue-4241.rs | 2 +- src/test/run-pass/issue-4542.rs | 2 +- src/test/run-pass/linear-for-loop.rs | 4 +- src/test/run-pass/loop-scope.rs | 2 +- src/test/run-pass/lots-a-fail.rs | 2 +- src/test/run-pass/monad.rs | 2 +- src/test/run-pass/morestack6.rs | 2 +- src/test/run-pass/move-3-unique.rs | 2 +- src/test/run-pass/move-3.rs | 2 +- ...ility-inherits-through-fixed-length-vec.rs | 4 +- src/test/run-pass/overload-index-operator.rs | 2 +- src/test/run-pass/owned-trait-objects.rs | 2 +- src/test/run-pass/packed-struct-vec.rs | 4 +- .../run-pass/pattern-bound-var-in-for-each.rs | 2 +- src/test/run-pass/private-method.rs | 2 +- src/test/run-pass/reflect-visit-data.rs | 2 +- src/test/run-pass/reflect-visit-type.rs | 2 +- .../regions-infer-borrow-scope-addr-of.rs | 2 +- src/test/run-pass/send-iloop.rs | 2 +- src/test/run-pass/shadow.rs | 2 +- src/test/run-pass/stat.rs | 2 +- src/test/run-pass/static-impl.rs | 4 +- src/test/run-pass/task-comm-3.rs | 4 +- src/test/run-pass/trait-bounds-in-arc.rs | 6 +- src/test/run-pass/trait-generic.rs | 2 +- src/test/run-pass/unfoldr-cross-crate.rs | 2 +- src/test/run-pass/unique-send-2.rs | 4 +- src/test/run-pass/utf8.rs | 2 +- 298 files changed, 1569 insertions(+), 1574 deletions(-) diff --git a/doc/po/rust.md.pot b/doc/po/rust.md.pot index ce68fb4179d..20ebb88c724 100644 --- a/doc/po/rust.md.pot +++ b/doc/po/rust.md.pot @@ -1792,11 +1792,11 @@ msgstr "" msgid "" "~~~~ {.xfail-test}\n" "fn iter(seq: &[T], f: &fn(T)) {\n" -" foreach elt in seq.iter() { f(elt); }\n" +" for elt in seq.iter() { f(elt); }\n" "}\n" "fn map(seq: &[T], f: &fn(T) -> U) -> ~[U] {\n" " let mut acc = ~[];\n" -" foreach elt in seq.iter() { acc.push(f(elt)); }\n" +" for elt in seq.iter() { acc.push(f(elt)); }\n" " acc\n" "}\n" "~~~~\n" @@ -4570,7 +4570,7 @@ msgstr "" #: doc/rust.md:2405 #, no-wrap msgid "" -"foreach e in v.iter() {\n" +"for e in v.iter() {\n" " bar(*e);\n" "}\n" "~~~~\n" diff --git a/doc/po/tutorial-container.md.pot b/doc/po/tutorial-container.md.pot index 841e6a23393..3435a51dbef 100644 --- a/doc/po/tutorial-container.md.pot +++ b/doc/po/tutorial-container.md.pot @@ -376,7 +376,7 @@ msgstr "" #, no-wrap msgid "" "// print out all the elements in the vector\n" -"foreach x in xs.iter() {\n" +"for x in xs.iter() {\n" " println(x.to_str())\n" "}\n" msgstr "" @@ -386,7 +386,7 @@ msgstr "" #, no-wrap msgid "" "// print out all but the first 3 elements in the vector\n" -"foreach x in xs.iter().skip(3) {\n" +"for x in xs.iter().skip(3) {\n" " println(x.to_str())\n" "}\n" "~~~\n" @@ -418,7 +418,7 @@ msgstr "" #, no-wrap msgid "" "// print out the pairs of elements up to (&3, &\"baz\")\n" -"foreach (x, y) in it {\n" +"for (x, y) in it {\n" " println(fmt!(\"%d %s\", *x, *y));\n" msgstr "" @@ -487,7 +487,7 @@ msgid "" " pub fn from_iterator(iterator: &mut T) -> ~[A] {\n" " let (lower, _) = iterator.size_hint();\n" " let mut xs = with_capacity(lower);\n" -" foreach x in iterator {\n" +" for x in iterator {\n" " xs.push(x);\n" " }\n" " xs\n" @@ -587,7 +587,7 @@ msgstr "" #, no-wrap msgid "" "// prints `5`, `4` and `3`\n" -"foreach &x in it.invert() {\n" +"for &x in it.invert() {\n" " println(fmt!(\"%?\", x))\n" "}\n" "~~~\n" diff --git a/doc/po/tutorial-tasks.md.pot b/doc/po/tutorial-tasks.md.pot index fb7d60716bf..ff1f25f83b3 100644 --- a/doc/po/tutorial-tasks.md.pot +++ b/doc/po/tutorial-tasks.md.pot @@ -587,7 +587,7 @@ msgstr "" #, no-wrap msgid "" " let mut final_res = 0f64;\n" -" foreach ft in futures.mut_iter() {\n" +" for ft in futures.mut_iter() {\n" " final_res += ft.get();\n" " }\n" " println(fmt!(\"^2/6 is not far from : %?\", final_res));\n" diff --git a/doc/po/tutorial.md.pot b/doc/po/tutorial.md.pot index 2b24d688a96..5d8a03343ae 100644 --- a/doc/po/tutorial.md.pot +++ b/doc/po/tutorial.md.pot @@ -2501,7 +2501,7 @@ msgstr "" msgid "" "// Iterate over a vector, obtaining a pointer to each element\n" "// (`for` is explained in the next section)\n" -"foreach crayon in crayons.iter() {\n" +"for crayon in crayons.iter() {\n" " let delicious_crayon_wax = unwrap_crayon(*crayon);\n" " eat_crayon_wax(delicious_crayon_wax);\n" "}\n" @@ -3101,7 +3101,7 @@ msgid "" "~~~~\n" "fn map(vector: &[T], function: &fn(v: &T) -> U) -> ~[U] {\n" " let mut accumulator = ~[];\n" -" foreach element in vector.iter() {\n" +" for element in vector.iter() {\n" " accumulator.push(function(element));\n" " }\n" " return accumulator;\n" @@ -3570,7 +3570,7 @@ msgid "" "~~~~\n" "# trait Printable { fn print(&self); }\n" "fn print_all(printable_things: ~[T]) {\n" -" foreach thing in printable_things.iter() {\n" +" for thing in printable_things.iter() {\n" " thing.print();\n" " }\n" "}\n" @@ -3650,7 +3650,7 @@ msgstr "" #, no-wrap msgid "" "fn draw_all(shapes: ~[T]) {\n" -" foreach shape in shapes.iter() { shape.draw(); }\n" +" for shape in shapes.iter() { shape.draw(); }\n" "}\n" "# let c: Circle = new_circle();\n" "# draw_all(~[c]);\n" @@ -3673,7 +3673,7 @@ msgid "" "~~~~\n" "# trait Drawable { fn draw(&self); }\n" "fn draw_all(shapes: &[@Drawable]) {\n" -" foreach shape in shapes.iter() { shape.draw(); }\n" +" for shape in shapes.iter() { shape.draw(); }\n" "}\n" "~~~~\n" msgstr "" diff --git a/doc/rust.md b/doc/rust.md index ea4d7ec3fe9..2f5c310ec83 100644 --- a/doc/rust.md +++ b/doc/rust.md @@ -880,11 +880,11 @@ the function name. ~~~~ {.xfail-test} fn iter(seq: &[T], f: &fn(T)) { - foreach elt in seq.iter() { f(elt); } + for elt in seq.iter() { f(elt); } } fn map(seq: &[T], f: &fn(T) -> U) -> ~[U] { let mut acc = ~[]; - foreach elt in seq.iter() { acc.push(f(elt)); } + for elt in seq.iter() { acc.push(f(elt)); } acc } ~~~~ @@ -2378,7 +2378,7 @@ An example of a for loop over the contents of a vector: let v: &[foo] = &[a, b, c]; -foreach e in v.iter() { +for e in v.iter() { bar(*e); } ~~~~ @@ -2387,7 +2387,7 @@ An example of a for loop over a series of integers: ~~~~ # fn bar(b:uint) { } -foreach i in range(0u, 256) { +for i in range(0u, 256) { bar(i); } ~~~~ diff --git a/doc/tutorial-tasks.md b/doc/tutorial-tasks.md index 4528f3f9e15..b2ef624d1ac 100644 --- a/doc/tutorial-tasks.md +++ b/doc/tutorial-tasks.md @@ -121,7 +121,7 @@ should interleave the output in vaguely random order. # use std::io::print; # use std::task::spawn; -foreach child_task_number in range(0, 20) { +for child_task_number in range(0, 20) { do spawn { print(fmt!("I am child number %d\n", child_task_number)); } @@ -240,7 +240,7 @@ Instead we can use a `SharedChan`, a type that allows a single let (port, chan) = stream(); let chan = SharedChan::new(chan); -foreach init_val in range(0u, 3) { +for init_val in range(0u, 3) { // Create a new channel handle to distribute to the child task let child_chan = chan.clone(); do spawn { @@ -314,7 +314,7 @@ be distributed on the available cores. # use std::vec; fn partial_sum(start: uint) -> f64 { let mut local_sum = 0f64; - foreach num in range(start*100000, (start+1)*100000) { + for num in range(start*100000, (start+1)*100000) { local_sum += (num as f64 + 1.0).pow(&-2.0); } local_sum @@ -324,7 +324,7 @@ fn main() { let mut futures = vec::from_fn(1000, |ind| do extra::future::spawn { partial_sum(ind) }); let mut final_res = 0f64; - foreach ft in futures.mut_iter() { + for ft in futures.mut_iter() { final_res += ft.get(); } println(fmt!("π^2/6 is not far from : %?", final_res)); @@ -359,7 +359,7 @@ fn main() { let numbers_arc = Arc::new(numbers); - foreach num in range(1u, 10) { + for num in range(1u, 10) { let (port, chan) = stream(); chan.send(numbers_arc.clone()); diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs index 4b9a48ed445..b01de242590 100644 --- a/src/compiletest/compiletest.rs +++ b/src/compiletest/compiletest.rs @@ -243,7 +243,7 @@ pub fn make_tests(config: &config) -> ~[test::TestDescAndFn] { config.src_base.to_str()); let mut tests = ~[]; let dirs = os::list_dir_path(&config.src_base); - foreach file in dirs.iter() { + for file in dirs.iter() { let file = file.clone(); debug!("inspecting file %s", file.to_str()); if is_test(config, &file) { @@ -271,11 +271,11 @@ pub fn is_test(config: &config, testfile: &Path) -> bool { let mut valid = false; - foreach ext in valid_extensions.iter() { + for ext in valid_extensions.iter() { if name.ends_with(*ext) { valid = true; } } - foreach pre in invalid_prefixes.iter() { + for pre in invalid_prefixes.iter() { if name.starts_with(*pre) { valid = false; } } diff --git a/src/compiletest/procsrv.rs b/src/compiletest/procsrv.rs index 48c467c34b6..a5d308007b4 100644 --- a/src/compiletest/procsrv.rs +++ b/src/compiletest/procsrv.rs @@ -56,7 +56,7 @@ pub fn run(lib_path: &str, err_fd: None }); - foreach input in input.iter() { + for input in input.iter() { proc.input().write_str(*input); } let output = proc.finish_with_output(); diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index 970178f05fe..74b4a1de5e0 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -282,7 +282,7 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) { // check if each line in props.check_lines appears in the // output (in order) let mut i = 0u; - foreach line in ProcRes.stdout.line_iter() { + for line in ProcRes.stdout.line_iter() { if check_lines[i].trim() == line.trim() { i += 1u; } @@ -312,7 +312,7 @@ fn check_error_patterns(props: &TestProps, let mut next_err_idx = 0u; let mut next_err_pat = &props.error_patterns[next_err_idx]; let mut done = false; - foreach line in ProcRes.stderr.line_iter() { + for line in ProcRes.stderr.line_iter() { if line.contains(*next_err_pat) { debug!("found error pattern %s", *next_err_pat); next_err_idx += 1u; @@ -332,7 +332,7 @@ fn check_error_patterns(props: &TestProps, fatal_ProcRes(fmt!("error pattern '%s' not found!", missing_patterns[0]), ProcRes); } else { - foreach pattern in missing_patterns.iter() { + for pattern in missing_patterns.iter() { error(fmt!("error pattern '%s' not found!", *pattern)); } fatal_ProcRes(~"multiple error patterns not found", ProcRes); @@ -385,9 +385,9 @@ fn check_expected_errors(expected_errors: ~[errors::ExpectedError], // filename:line1:col1: line2:col2: *warning:* msg // where line1:col1: is the starting point, line2:col2: // is the ending point, and * represents ANSI color codes. - foreach line in ProcRes.stderr.line_iter() { + for line in ProcRes.stderr.line_iter() { let mut was_expected = false; - foreach (i, ee) in expected_errors.iter().enumerate() { + for (i, ee) in expected_errors.iter().enumerate() { if !found_flags[i] { debug!("prefix=%s ee.kind=%s ee.msg=%s line=%s", prefixes[i], ee.kind, ee.msg, line); @@ -413,7 +413,7 @@ fn check_expected_errors(expected_errors: ~[errors::ExpectedError], } } - foreach i in range(0u, found_flags.len()) { + for i in range(0u, found_flags.len()) { if !found_flags[i] { let ee = &expected_errors[i]; fatal_ProcRes(fmt!("expected %s on line %u not found: %s", @@ -558,7 +558,7 @@ fn compose_and_run_compiler( let extra_link_args = ~[~"-L", aux_output_dir_name(config, testfile).to_str()]; - foreach rel_ab in props.aux_builds.iter() { + for rel_ab in props.aux_builds.iter() { let abs_ab = config.aux_base.push_rel(&Path(*rel_ab)); let aux_args = make_compile_args(config, props, ~[~"--lib"] + extra_link_args, @@ -785,7 +785,7 @@ fn _arm_exec_compiled_test(config: &config, props: &TestProps, runargs.push(fmt!("%s", config.adb_test_dir)); runargs.push(fmt!("%s", prog_short)); - foreach tv in args.args.iter() { + for tv in args.args.iter() { runargs.push(tv.to_owned()); } @@ -802,7 +802,7 @@ fn _arm_exec_compiled_test(config: &config, props: &TestProps, Some(~"")); let mut exitcode : int = 0; - foreach c in exitcode_out.iter() { + for c in exitcode_out.iter() { if !c.is_digit() { break; } exitcode = exitcode * 10 + match c { '0' .. '9' => c as int - ('0' as int), @@ -851,7 +851,7 @@ fn _arm_push_aux_shared_library(config: &config, testfile: &Path) { let tstr = aux_output_dir_name(config, testfile).to_str(); let dirs = os::list_dir_path(&Path(tstr)); - foreach file in dirs.iter() { + for file in dirs.iter() { if (file.filetype() == Some(~".so")) { diff --git a/src/etc/check-links.pl b/src/etc/check-links.pl index 6492be53d34..3507e6ff788 100755 --- a/src/etc/check-links.pl +++ b/src/etc/check-links.pl @@ -7,7 +7,7 @@ my @lines = <>; my $anchors = {}; my $i = 0; -foreach $line (@lines) { +for $line (@lines) { $i++; if ($line =~ m/id="([^"]+)"/) { $anchors->{$1} = $i; @@ -15,7 +15,7 @@ foreach $line (@lines) { } $i = 0; -foreach $line (@lines) { +for $line (@lines) { $i++; while ($line =~ m/href="#([^"]+)"/g) { if (! exists($anchors->{$1})) { diff --git a/src/libextra/arc.rs b/src/libextra/arc.rs index af69997f02e..cb4468f48ec 100644 --- a/src/libextra/arc.rs +++ b/src/libextra/arc.rs @@ -782,7 +782,7 @@ mod tests { } // Wait for children to pass their asserts - foreach r in children.iter() { + for r in children.iter() { r.recv(); } @@ -848,7 +848,7 @@ mod tests { *state = 31337; // FIXME: #7372: hits type inference bug with iterators // send to other readers - foreach i in range(0u, reader_convos.len()) { + for i in range(0u, reader_convos.len()) { match reader_convos[i] { (ref rc, _) => rc.send(()), } @@ -858,7 +858,7 @@ mod tests { do (&read_mode).read |state| { // FIXME: #7372: hits type inference bug with iterators // complete handshake with other readers - foreach i in range(0u, reader_convos.len()) { + for i in range(0u, reader_convos.len()) { match reader_convos[i] { (_, ref rp) => rp.recv(), } diff --git a/src/libextra/arena.rs b/src/libextra/arena.rs index 0f54a9effa2..47b64d76951 100644 --- a/src/libextra/arena.rs +++ b/src/libextra/arena.rs @@ -277,7 +277,7 @@ impl Arena { #[test] fn test_arena_destructors() { let arena = Arena(); - foreach i in range(0u, 10) { + for i in range(0u, 10) { // Arena allocate something with drop glue to make sure it // doesn't leak. do arena.alloc { @i }; @@ -293,7 +293,7 @@ fn test_arena_destructors() { fn test_arena_destructors_fail() { let arena = Arena(); // Put some stuff in the arena. - foreach i in range(0u, 10) { + for i in range(0u, 10) { // Arena allocate something with drop glue to make sure it // doesn't leak. do arena.alloc { @i }; diff --git a/src/libextra/base64.rs b/src/libextra/base64.rs index 5d5311d2329..f2cbcf86935 100644 --- a/src/libextra/base64.rs +++ b/src/libextra/base64.rs @@ -206,7 +206,7 @@ impl<'self> FromBase64 for &'self [u8] { let mut modulus = 0; let mut it = self.iter(); - foreach &byte in it { + for &byte in it { let ch = byte as char; let val = byte as u32; diff --git a/src/libextra/bitv.rs b/src/libextra/bitv.rs index 42f3fdc5279..bf618d7bd3a 100644 --- a/src/libextra/bitv.rs +++ b/src/libextra/bitv.rs @@ -145,7 +145,7 @@ impl BigBitv { let len = b.storage.len(); assert_eq!(self.storage.len(), len); let mut changed = false; - foreach i in range(0, len) { + for i in range(0, len) { let mask = big_mask(nbits, i); let w0 = self.storage[i] & mask; let w1 = b.storage[i] & mask; @@ -401,7 +401,7 @@ impl Bitv { match self.rep { Small(ref b) => b.is_true(self.nbits), _ => { - foreach i in self.iter() { if !i { return false; } } + for i in self.iter() { if !i { return false; } } true } } @@ -422,7 +422,7 @@ impl Bitv { match self.rep { Small(ref b) => b.is_false(self.nbits), Big(_) => { - foreach i in self.iter() { if i { return false; } } + for i in self.iter() { if i { return false; } } true } } @@ -486,7 +486,7 @@ impl Bitv { */ pub fn to_str(&self) -> ~str { let mut rs = ~""; - foreach i in self.iter() { + for i in self.iter() { if i { rs.push_char('1'); } else { @@ -544,7 +544,7 @@ pub fn from_bools(bools: &[bool]) -> Bitv { */ pub fn from_fn(len: uint, f: &fn(index: uint) -> bool) -> Bitv { let mut bitv = Bitv::new(len, false); - foreach i in range(0u, len) { + for i in range(0u, len) { bitv.set(i, f(i)); } bitv @@ -561,7 +561,7 @@ fn iterate_bits(base: uint, bits: uint, f: &fn(uint) -> bool) -> bool { if bits == 0 { return true; } - foreach i in range(0u, uint::bits) { + for i in range(0u, uint::bits) { if bits & (1 << i) != 0 { if !f(base + i) { return false; @@ -676,7 +676,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; - foreach _ in range(0u, uint::bits) { + for _ in range(0u, uint::bits) { if w == 0 { break; } @@ -688,7 +688,7 @@ impl BitvSet { if self.capacity() < other.capacity() { self.bitv.storage.grow(other.capacity() / uint::bits, &0); } - foreach (i, &w) in other.bitv.storage.iter().enumerate() { + for (i, &w) in other.bitv.storage.iter().enumerate() { let old = self.bitv.storage[i]; let new = f(old, w); self.bitv.storage[i] = new; @@ -721,7 +721,7 @@ impl BitvSet { } pub fn difference(&self, other: &BitvSet, f: &fn(&uint) -> bool) -> bool { - foreach (i, w1, w2) in self.common_iter(other) { + for (i, w1, w2) in self.common_iter(other) { if !iterate_bits(i, w1 & !w2, |b| f(&b)) { return false } @@ -734,7 +734,7 @@ impl BitvSet { pub fn symmetric_difference(&self, other: &BitvSet, f: &fn(&uint) -> bool) -> bool { - foreach (i, w1, w2) in self.common_iter(other) { + for (i, w1, w2) in self.common_iter(other) { if !iterate_bits(i, w1 ^ w2, |b| f(&b)) { return false } @@ -747,7 +747,7 @@ impl BitvSet { } pub fn union(&self, other: &BitvSet, f: &fn(&uint) -> bool) -> bool { - foreach (i, w1, w2) in self.common_iter(other) { + for (i, w1, w2) in self.common_iter(other) { if !iterate_bits(i, w1 | w2, |b| f(&b)) { return false } @@ -761,12 +761,12 @@ impl cmp::Eq for BitvSet { if self.size != other.size { return false; } - foreach (_, w1, w2) in self.common_iter(other) { + for (_, w1, w2) in self.common_iter(other) { if w1 != w2 { return false; } } - foreach (_, _, w) in self.outlier_iter(other) { + for (_, _, w) in self.outlier_iter(other) { if w != 0 { return false; } @@ -801,7 +801,7 @@ impl Set for BitvSet { } fn is_subset(&self, other: &BitvSet) -> bool { - foreach (_, w1, w2) in self.common_iter(other) { + for (_, w1, w2) in self.common_iter(other) { if w1 & w2 != w1 { return false; } @@ -809,7 +809,7 @@ impl Set for BitvSet { /* If anything is not ours, then everything is not ours so we're definitely a subset in that case. Otherwise if there's any stray ones that 'other' doesn't have, we're not a subset. */ - foreach (mine, _, w) in self.outlier_iter(other) { + for (mine, _, w) in self.outlier_iter(other) { if !mine { return true; } else if w != 0 { @@ -1285,12 +1285,12 @@ mod tests { #[test] fn test_equal_sneaky_big() { let mut a = bitv::Bitv::new(100, false); - foreach i in range(0u, 100) { + for i in range(0u, 100) { a.set(i, true); } let mut b = bitv::Bitv::new(100, true); - foreach i in range(0u, 100) { + for i in range(0u, 100) { b.set(i, true); } @@ -1333,7 +1333,7 @@ mod tests { let bools = [true, false, true, true]; let bitv = from_bools(bools); - foreach (act, &ex) in bitv.iter().zip(bools.iter()) { + for (act, &ex) in bitv.iter().zip(bools.iter()) { assert_eq!(ex, act); } } @@ -1639,7 +1639,7 @@ mod tests { let bitv = Bitv::new(uint::bits, false); do b.iter { let mut _sum = 0; - foreach pres in bitv.iter() { + for pres in bitv.iter() { _sum += pres as uint; } } @@ -1650,7 +1650,7 @@ mod tests { let bitv = Bitv::new(BENCH_BITS, false); do b.iter { let mut _sum = 0; - foreach pres in bitv.iter() { + for pres in bitv.iter() { _sum += pres as uint; } } @@ -1662,7 +1662,7 @@ mod tests { |idx| {idx % 3 == 0})); do b.iter { let mut _sum = 0; - foreach idx in bitv.iter() { + for idx in bitv.iter() { _sum += idx; } } diff --git a/src/libextra/container.rs b/src/libextra/container.rs index 5b2de22ff07..623a9d5f452 100644 --- a/src/libextra/container.rs +++ b/src/libextra/container.rs @@ -53,7 +53,7 @@ mod bench { let mut rng = rand::XorShiftRng::new(); map.clear(); - foreach _ in range(0, n) { + for _ in range(0, n) { map.insert(rng.gen::() % n, 1); } @@ -70,7 +70,7 @@ mod bench { bh: &mut BenchHarness) { // setup map.clear(); - foreach i in range(0u, n) { + for i in range(0u, n) { map.insert(i*2, 1); } @@ -90,7 +90,7 @@ mod bench { let mut rng = rand::XorShiftRng::new(); let mut keys = vec::from_fn(n, |_| rng.gen::() % n); - foreach k in keys.iter() { + for k in keys.iter() { map.insert(*k, 1); } @@ -108,7 +108,7 @@ mod bench { map: &mut M, bh: &mut BenchHarness) { // setup - foreach i in range(0u, n) { + for i in range(0u, n) { map.insert(i, 1); } diff --git a/src/libextra/crypto/digest.rs b/src/libextra/crypto/digest.rs index 217573a4135..217f5b0a417 100644 --- a/src/libextra/crypto/digest.rs +++ b/src/libextra/crypto/digest.rs @@ -70,7 +70,7 @@ pub trait Digest { fn to_hex(rr: &[u8]) -> ~str { let mut s = ~""; - foreach b in rr.iter() { + for b in rr.iter() { let hex = uint::to_str_radix(*b as uint, 16u); if hex.len() == 1 { s.push_char('0'); diff --git a/src/libextra/crypto/sha1.rs b/src/libextra/crypto/sha1.rs index 86a89d79f1a..aa52902c27d 100644 --- a/src/libextra/crypto/sha1.rs +++ b/src/libextra/crypto/sha1.rs @@ -250,7 +250,7 @@ mod tests { let mut out = [0u8, ..20]; let mut sh = ~Sha1::new(); - foreach t in tests.iter() { + for t in tests.iter() { (*sh).input_str(t.input); sh.result(out); assert!(t.output.as_slice() == out); @@ -264,7 +264,7 @@ mod tests { // Test that it works when accepting the message in pieces - foreach t in tests.iter() { + for t in tests.iter() { let len = t.input.len(); let mut left = len; while left > 0u { diff --git a/src/libextra/crypto/sha2.rs b/src/libextra/crypto/sha2.rs index 06e96d99bca..47535d5103a 100644 --- a/src/libextra/crypto/sha2.rs +++ b/src/libextra/crypto/sha2.rs @@ -736,7 +736,7 @@ mod tests { fn test_hash(sh: &mut D, tests: &[Test]) { // Test that it works when accepting the message all at once - foreach t in tests.iter() { + for t in tests.iter() { sh.input_str(t.input); let out_str = sh.result_str(); @@ -746,7 +746,7 @@ mod tests { } // Test that it works when accepting the message in pieces - foreach t in tests.iter() { + for t in tests.iter() { let len = t.input.len(); let mut left = len; while left > 0u { diff --git a/src/libextra/dlist.rs b/src/libextra/dlist.rs index 392eaf28157..4142bdadaf6 100644 --- a/src/libextra/dlist.rs +++ b/src/libextra/dlist.rs @@ -548,7 +548,7 @@ impl> FromIterator for DList { impl> Extendable for DList { fn extend(&mut self, iterator: &mut T) { - foreach elt in *iterator { self.push_back(elt); } + for elt in *iterator { self.push_back(elt); } } } @@ -687,7 +687,7 @@ mod tests { check_links(&m); let sum = v + u; assert_eq!(sum.len(), m.len()); - foreach elt in sum.consume_iter() { + for elt in sum.consume_iter() { assert_eq!(m.pop_front(), Some(elt)) } } @@ -711,7 +711,7 @@ mod tests { check_links(&m); let sum = u + v; assert_eq!(sum.len(), m.len()); - foreach elt in sum.consume_iter() { + for elt in sum.consume_iter() { assert_eq!(m.pop_front(), Some(elt)) } } @@ -742,7 +742,7 @@ mod tests { #[test] fn test_iterator() { let m = generate_test(); - foreach (i, elt) in m.iter().enumerate() { + for (i, elt) in m.iter().enumerate() { assert_eq!(i as int, *elt); } let mut n = DList::new(); @@ -790,7 +790,7 @@ mod tests { #[test] fn test_rev_iter() { let m = generate_test(); - foreach (i, elt) in m.rev_iter().enumerate() { + for (i, elt) in m.rev_iter().enumerate() { assert_eq!((6 - i) as int, *elt); } let mut n = DList::new(); @@ -807,7 +807,7 @@ mod tests { fn test_mut_iter() { let mut m = generate_test(); let mut len = m.len(); - foreach (i, elt) in m.mut_iter().enumerate() { + for (i, elt) in m.mut_iter().enumerate() { assert_eq!(i as int, *elt); len -= 1; } @@ -899,7 +899,7 @@ mod tests { #[test] fn test_mut_rev_iter() { let mut m = generate_test(); - foreach (i, elt) in m.mut_rev_iter().enumerate() { + for (i, elt) in m.mut_rev_iter().enumerate() { assert_eq!((6-i) as int, *elt); } let mut n = DList::new(); @@ -943,7 +943,7 @@ mod tests { fn fuzz_test(sz: int) { let mut m = DList::new::(); let mut v = ~[]; - foreach i in range(0, sz) { + for i in range(0, sz) { check_links(&m); let r: u8 = rand::random(); match r % 6 { @@ -969,7 +969,7 @@ mod tests { check_links(&m); let mut i = 0u; - foreach (a, &b) in m.consume_iter().zip(v.iter()) { + for (a, &b) in m.consume_iter().zip(v.iter()) { i += 1; assert_eq!(a, b); } diff --git a/src/libextra/fileinput.rs b/src/libextra/fileinput.rs index 2094259664c..a161989c375 100644 --- a/src/libextra/fileinput.rs +++ b/src/libextra/fileinput.rs @@ -419,7 +419,7 @@ mod test { fn make_file(path : &Path, contents: &[~str]) { let file = io::file_writer(path, [io::Create, io::Truncate]).unwrap(); - foreach str in contents.iter() { + for str in contents.iter() { file.write_str(*str); file.write_char('\n'); } @@ -446,13 +446,13 @@ mod test { |i| fmt!("tmp/lib-fileinput-test-fileinput-read-byte-%u.tmp", i)), true); // 3 files containing 0\n, 1\n, and 2\n respectively - foreach (i, filename) in filenames.iter().enumerate() { + for (i, filename) in filenames.iter().enumerate() { make_file(filename.get_ref(), [fmt!("%u", i)]); } let fi = FileInput::from_vec(filenames.clone()); - foreach (line, c) in "012".iter().enumerate() { + for (line, c) in "012".iter().enumerate() { assert_eq!(fi.read_byte(), c as int); assert_eq!(fi.state().line_num, line); assert_eq!(fi.state().line_num_file, 0); @@ -476,7 +476,7 @@ mod test { |i| fmt!("tmp/lib-fileinput-test-fileinput-read-%u.tmp", i)), true); // 3 files containing 1\n, 2\n, and 3\n respectively - foreach (i, filename) in filenames.iter().enumerate() { + for (i, filename) in filenames.iter().enumerate() { make_file(filename.get_ref(), [fmt!("%u", i)]); } @@ -496,7 +496,7 @@ mod test { 3, |i| fmt!("tmp/lib-fileinput-test-input-vec-%u.tmp", i)), true); - foreach (i, filename) in filenames.iter().enumerate() { + for (i, filename) in filenames.iter().enumerate() { let contents = vec::from_fn(3, |j| fmt!("%u %u", i, j)); make_file(filename.get_ref(), contents); @@ -518,7 +518,7 @@ mod test { 3, |i| fmt!("tmp/lib-fileinput-test-input-vec-state-%u.tmp", i)),true); - foreach (i, filename) in filenames.iter().enumerate() { + for (i, filename) in filenames.iter().enumerate() { let contents = vec::from_fn(3, |j| fmt!("%u %u", i, j + 1)); make_file(filename.get_ref(), contents); @@ -587,7 +587,7 @@ mod test { 3, |i| fmt!("tmp/lib-fileinput-test-next-file-%u.tmp", i)),true); - foreach (i, filename) in filenames.iter().enumerate() { + for (i, filename) in filenames.iter().enumerate() { let contents = vec::from_fn(3, |j| fmt!("%u %u", i, j + 1)); make_file(filename.get_ref(), contents); @@ -600,7 +600,7 @@ mod test { input.next_file(); // skip the rest of 1 // read all lines from 1 (but don't read any from 2), - foreach i in range(1u, 4) { + for i in range(1u, 4) { assert_eq!(input.read_line(), fmt!("1 %u", i)); } // 1 is finished, but 2 hasn't been started yet, so this will diff --git a/src/libextra/flatpipes.rs b/src/libextra/flatpipes.rs index b43962dae40..74653828121 100644 --- a/src/libextra/flatpipes.rs +++ b/src/libextra/flatpipes.rs @@ -29,12 +29,12 @@ This example sends boxed integers across tasks using serialization. let (port, chan) = serial::pipe_stream(); do task::spawn || { - foreach i in range(0, 10) { + for i in range(0, 10) { chan.send(@i) } } -foreach i in range(0, 10) { +for i in range(0, 10) { assert @i == port.recv() } ~~~ @@ -664,12 +664,12 @@ mod test { let (port, chan) = serial::pipe_stream(); do task::spawn || { - foreach i in range(0, 10) { + for i in range(0, 10) { chan.send(i) } } - foreach i in range(0, 10) { + for i in range(0, 10) { assert!(i == port.recv()) } } @@ -680,12 +680,12 @@ mod test { let (port, chan) = serial::pipe_stream(); do task::spawn || { - foreach i in range(0, 10) { + for i in range(0, 10) { chan.send(@i) } } - foreach i in range(0, 10) { + for i in range(0, 10) { assert!(@i == port.recv()) } } @@ -711,12 +711,12 @@ mod test { let (port, chan) = pod::pipe_stream(); do task::spawn || { - foreach i in range(0, 10) { + for i in range(0, 10) { chan.send(i) } } - foreach i in range(0, 10) { + for i in range(0, 10) { assert!(i == port.recv()) } } @@ -828,7 +828,7 @@ mod test { // TcpSocketBuf is a Writer! let chan = writer_chan(socket_buf); - foreach i in range(0, 10) { + for i in range(0, 10) { debug!("sending %?", i); chan.send(i) } @@ -851,7 +851,7 @@ mod test { // TcpSocketBuf is a Reader! let port = reader_port(socket_buf); - foreach i in range(0, 10) { + for i in range(0, 10) { let j = port.recv(); debug!("received %?", j); assert_eq!(i, j); diff --git a/src/libextra/getopts.rs b/src/libextra/getopts.rs index 31a73833e27..b9ee38317f3 100644 --- a/src/libextra/getopts.rs +++ b/src/libextra/getopts.rs @@ -307,7 +307,7 @@ pub fn getopts(args: &[~str], opts: &[Opt]) -> Result { } } let mut name_pos = 0; - foreach nm in names.iter() { + for nm in names.iter() { name_pos += 1; let optid = match find_opt(opts, (*nm).clone()) { Some(id) => id, @@ -392,7 +392,7 @@ pub fn opt_count(mm: &Matches, nm: &str) -> uint { /// Returns true if any of several options were matched pub fn opts_present(mm: &Matches, names: &[~str]) -> bool { - foreach nm in names.iter() { + for nm in names.iter() { match find_opt(mm.opts, mkname(*nm)) { Some(id) if !mm.vals[id].is_empty() => return true, _ => (), @@ -422,7 +422,7 @@ pub fn opt_str(mm: &Matches, nm: &str) -> ~str { * option took an argument */ pub fn opts_str(mm: &Matches, names: &[~str]) -> ~str { - foreach nm in names.iter() { + for nm in names.iter() { match opt_val(mm, *nm) { Some(Val(ref s)) => return (*s).clone(), _ => () @@ -441,7 +441,7 @@ pub fn opts_str(mm: &Matches, names: &[~str]) -> ~str { pub fn opt_strs(mm: &Matches, nm: &str) -> ~[~str] { let mut acc: ~[~str] = ~[]; let r = opt_vals(mm, nm); - foreach v in r.iter() { + for v in r.iter() { match *v { Val(ref s) => acc.push((*s).clone()), _ => () } } acc @@ -671,7 +671,7 @@ pub mod groups { // Normalize desc to contain words separated by one space character let mut desc_normalized_whitespace = ~""; - foreach word in desc.word_iter() { + for word in desc.word_iter() { desc_normalized_whitespace.push_str(word); desc_normalized_whitespace.push_char(' '); } diff --git a/src/libextra/iter.rs b/src/libextra/iter.rs index 720a525164a..7fd47fdbd39 100644 --- a/src/libextra/iter.rs +++ b/src/libextra/iter.rs @@ -27,7 +27,7 @@ internal iterator by calling the `advance` method. For example: let xs = [0u, 1, 2, 3, 4, 5]; let ys = [30, 40, 50, 60]; let mut it = xs.iter().chain(ys.iter()); -foreach &x: &uint in it { +for &x: &uint in it { println(x.to_str()); } ~~~ diff --git a/src/libextra/json.rs b/src/libextra/json.rs index a9f4276e79e..cd35cbdf309 100644 --- a/src/libextra/json.rs +++ b/src/libextra/json.rs @@ -57,7 +57,7 @@ pub struct Error { fn escape_str(s: &str) -> ~str { let mut escaped = ~"\""; - foreach c in s.iter() { + for c in s.iter() { match c { '"' => escaped.push_str("\\\""), '\\' => escaped.push_str("\\\\"), @@ -923,7 +923,7 @@ impl serialize::Decoder for Decoder { fn read_char(&mut self) -> char { let mut v = ~[]; let s = self.read_str(); - foreach c in s.iter() { v.push(c) } + for c in s.iter() { v.push(c) } if v.len() != 1 { fail!("string must have one character") } v[0] } @@ -949,7 +949,7 @@ impl serialize::Decoder for Decoder { let name = match self.stack.pop() { String(s) => s, List(list) => { - foreach v in list.consume_rev_iter() { + for v in list.consume_rev_iter() { self.stack.push(v); } match self.stack.pop() { @@ -1067,7 +1067,7 @@ impl serialize::Decoder for Decoder { let len = match self.stack.pop() { List(list) => { let len = list.len(); - foreach v in list.consume_rev_iter() { + for v in list.consume_rev_iter() { self.stack.push(v); } len @@ -1087,7 +1087,7 @@ impl serialize::Decoder for Decoder { let len = match self.stack.pop() { Object(obj) => { let len = obj.len(); - foreach (key, value) in obj.consume_iter() { + for (key, value) in obj.consume_iter() { self.stack.push(value); self.stack.push(String(key)); } @@ -1157,12 +1157,12 @@ impl Ord for Json { let mut d1_flat = ~[]; // FIXME #4430: this is horribly inefficient... - foreach (k, v) in d0.iter() { + for (k, v) in d0.iter() { d0_flat.push((@(*k).clone(), @(*v).clone())); } d0_flat.qsort(); - foreach (k, v) in d1.iter() { + for (k, v) in d1.iter() { d1_flat.push((@(*k).clone(), @(*v).clone())); } d1_flat.qsort(); @@ -1297,7 +1297,7 @@ impl ToJson for ~[A] { impl ToJson for TreeMap<~str, A> { fn to_json(&self) -> Json { let mut d = TreeMap::new(); - foreach (key, value) in self.iter() { + for (key, value) in self.iter() { d.insert((*key).clone(), value.to_json()); } Object(~d) @@ -1307,7 +1307,7 @@ impl ToJson for TreeMap<~str, A> { impl ToJson for HashMap<~str, A> { fn to_json(&self) -> Json { let mut d = TreeMap::new(); - foreach (key, value) in self.iter() { + for (key, value) in self.iter() { d.insert((*key).clone(), value.to_json()); } Object(~d) @@ -1364,7 +1364,7 @@ mod tests { fn mk_object(items: &[(~str, Json)]) -> Json { let mut d = ~TreeMap::new(); - foreach item in items.iter() { + for item in items.iter() { match *item { (ref key, ref value) => { d.insert((*key).clone(), (*value).clone()); }, } diff --git a/src/libextra/num/bigint.rs b/src/libextra/num/bigint.rs index 6f575926cc6..ab843fe6546 100644 --- a/src/libextra/num/bigint.rs +++ b/src/libextra/num/bigint.rs @@ -131,7 +131,7 @@ impl TotalOrd for BigUint { if s_len < o_len { return Less; } if s_len > o_len { return Greater; } - foreach (&self_i, &other_i) in self.data.rev_iter().zip(other.data.rev_iter()) { + for (&self_i, &other_i) in self.data.rev_iter().zip(other.data.rev_iter()) { cond!((self_i < other_i) { return Less; } (self_i > other_i) { return Greater; }) } @@ -420,7 +420,7 @@ impl Integer for BigUint { let bn = *b.data.last(); let mut d = ~[]; let mut carry = 0; - foreach elt in an.rev_iter() { + for elt in an.rev_iter() { let ai = BigDigit::to_uint(carry, *elt); let di = ai / (bn as uint); assert!(di < BigDigit::base); @@ -524,7 +524,7 @@ impl ToStrRadix for BigUint { fn fill_concat(v: &[BigDigit], radix: uint, l: uint) -> ~str { if v.is_empty() { return ~"0" } let mut s = str::with_capacity(v.len() * l); - foreach n in v.rev_iter() { + for n in v.rev_iter() { let ss = uint::to_str_radix(*n as uint, radix); s.push_str("0".repeat(l - ss.len())); s.push_str(ss); @@ -651,7 +651,7 @@ impl BigUint { let mut borrow = 0; let mut shifted = ~[]; - foreach elem in self.data.rev_iter() { + for elem in self.data.rev_iter() { shifted = ~[(*elem >> n_bits) | borrow] + shifted; borrow = *elem << (BigDigit::bits - n_bits); } @@ -1186,8 +1186,8 @@ mod biguint_tests { fn test_cmp() { let data: ~[BigUint] = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ] .map(|v| BigUint::from_slice(*v)); - foreach (i, ni) in data.iter().enumerate() { - foreach (j0, nj) in data.slice(i, data.len()).iter().enumerate() { + for (i, ni) in data.iter().enumerate() { + for (j0, nj) in data.slice(i, data.len()).iter().enumerate() { let j = j0 + i; if i == j { assert_eq!(ni.cmp(nj), Equal); @@ -1360,7 +1360,7 @@ mod biguint_tests { #[test] fn test_add() { - foreach elm in sum_triples.iter() { + for elm in sum_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigUint::from_slice(aVec); let b = BigUint::from_slice(bVec); @@ -1373,7 +1373,7 @@ mod biguint_tests { #[test] fn test_sub() { - foreach elm in sum_triples.iter() { + for elm in sum_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigUint::from_slice(aVec); let b = BigUint::from_slice(bVec); @@ -1424,7 +1424,7 @@ mod biguint_tests { #[test] fn test_mul() { - foreach elm in mul_triples.iter() { + for elm in mul_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigUint::from_slice(aVec); let b = BigUint::from_slice(bVec); @@ -1434,7 +1434,7 @@ mod biguint_tests { assert!(b * a == c); } - foreach elm in div_rem_quadruples.iter() { + for elm in div_rem_quadruples.iter() { let (aVec, bVec, cVec, dVec) = *elm; let a = BigUint::from_slice(aVec); let b = BigUint::from_slice(bVec); @@ -1448,7 +1448,7 @@ mod biguint_tests { #[test] fn test_div_rem() { - foreach elm in mul_triples.iter() { + for elm in mul_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigUint::from_slice(aVec); let b = BigUint::from_slice(bVec); @@ -1462,7 +1462,7 @@ mod biguint_tests { } } - foreach elm in div_rem_quadruples.iter() { + for elm in div_rem_quadruples.iter() { let (aVec, bVec, cVec, dVec) = *elm; let a = BigUint::from_slice(aVec); let b = BigUint::from_slice(bVec); @@ -1579,9 +1579,9 @@ mod biguint_tests { #[test] fn test_to_str_radix() { let r = to_str_pairs(); - foreach num_pair in r.iter() { + for num_pair in r.iter() { let &(ref n, ref rs) = num_pair; - foreach str_pair in rs.iter() { + for str_pair in rs.iter() { let &(ref radix, ref str) = str_pair; assert_eq!(&n.to_str_radix(*radix), str); } @@ -1591,9 +1591,9 @@ mod biguint_tests { #[test] fn test_from_str_radix() { let r = to_str_pairs(); - foreach num_pair in r.iter() { + for num_pair in r.iter() { let &(ref n, ref rs) = num_pair; - foreach str_pair in rs.iter() { + for str_pair in rs.iter() { let &(ref radix, ref str) = str_pair; assert_eq!(n, &FromStrRadix::from_str_radix(*str, *radix).get()); } @@ -1608,7 +1608,7 @@ mod biguint_tests { fn test_factor() { fn factor(n: uint) -> BigUint { let mut f= One::one::(); - foreach i in range(2, n + 1) { + for i in range(2, n + 1) { // FIXME(#6102): Assignment operator for BigInt causes ICE // f *= BigUint::from_uint(i); f = f * BigUint::from_uint(i); @@ -1658,14 +1658,14 @@ mod bigint_tests { fn test_cmp() { let vs = [ &[2 as BigDigit], &[1, 1], &[2, 1], &[1, 1, 1] ]; let mut nums = ~[]; - foreach s in vs.rev_iter() { + for s in vs.rev_iter() { nums.push(BigInt::from_slice(Minus, *s)); } nums.push(Zero::zero()); nums.push_all_move(vs.map(|s| BigInt::from_slice(Plus, *s))); - foreach (i, ni) in nums.iter().enumerate() { - foreach (j0, nj) in nums.slice(i, nums.len()).iter().enumerate() { + for (i, ni) in nums.iter().enumerate() { + for (j0, nj) in nums.slice(i, nums.len()).iter().enumerate() { let j = i + j0; if i == j { assert_eq!(ni.cmp(nj), Equal); @@ -1769,7 +1769,7 @@ mod bigint_tests { #[test] fn test_add() { - foreach elm in sum_triples.iter() { + for elm in sum_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1788,7 +1788,7 @@ mod bigint_tests { #[test] fn test_sub() { - foreach elm in sum_triples.iter() { + for elm in sum_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1845,7 +1845,7 @@ mod bigint_tests { #[test] fn test_mul() { - foreach elm in mul_triples.iter() { + for elm in mul_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1858,7 +1858,7 @@ mod bigint_tests { assert!((-b) * a == -c); } - foreach elm in div_rem_quadruples.iter() { + for elm in div_rem_quadruples.iter() { let (aVec, bVec, cVec, dVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1897,7 +1897,7 @@ mod bigint_tests { } } - foreach elm in mul_triples.iter() { + for elm in mul_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1907,7 +1907,7 @@ mod bigint_tests { if !b.is_zero() { check(&c, &b, &a, &Zero::zero()); } } - foreach elm in div_rem_quadruples.iter() { + for elm in div_rem_quadruples.iter() { let (aVec, bVec, cVec, dVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1940,7 +1940,7 @@ mod bigint_tests { check_sub(&a.neg(), b, &q.neg(), &r.neg()); check_sub(&a.neg(), &b.neg(), q, &r.neg()); } - foreach elm in mul_triples.iter() { + for elm in mul_triples.iter() { let (aVec, bVec, cVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); @@ -1950,7 +1950,7 @@ mod bigint_tests { if !b.is_zero() { check(&c, &b, &a, &Zero::zero()); } } - foreach elm in div_rem_quadruples.iter() { + for elm in div_rem_quadruples.iter() { let (aVec, bVec, cVec, dVec) = *elm; let a = BigInt::from_slice(Plus, aVec); let b = BigInt::from_slice(Plus, bVec); diff --git a/src/libextra/num/complex.rs b/src/libextra/num/complex.rs index 82b0808b788..669dc1c1b45 100644 --- a/src/libextra/num/complex.rs +++ b/src/libextra/num/complex.rs @@ -239,14 +239,14 @@ mod test { fn test_scale_unscale() { assert_eq!(_05_05i.scale(2f), _1_1i); assert_eq!(_1_1i.unscale(2f), _05_05i); - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { assert_eq!(c.scale(2f).unscale(2f), c); } } #[test] fn test_conj() { - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { assert_eq!(c.conj(), Cmplx::new(c.re, -c.im)); assert_eq!(c.conj().conj(), c); } @@ -283,7 +283,7 @@ mod test { let (r, theta) = c.to_polar(); assert!((c - Cmplx::from_polar(&r, &theta)).norm() < 1e-6); } - foreach &c in all_consts.iter() { test(c); } + for &c in all_consts.iter() { test(c); } } mod arith { @@ -296,7 +296,7 @@ mod test { assert_eq!(_0_1i + _1_0i, _1_1i); assert_eq!(_1_0i + _neg1_1i, _0_1i); - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { assert_eq!(_0_0i + c, c); assert_eq!(c + _0_0i, c); } @@ -308,7 +308,7 @@ mod test { assert_eq!(_0_1i - _1_0i, _neg1_1i); assert_eq!(_0_1i - _neg1_1i, _1_0i); - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { assert_eq!(c - _0_0i, c); assert_eq!(c - c, _0_0i); } @@ -323,7 +323,7 @@ mod test { assert_eq!(_0_1i * _0_1i, -_1_0i); assert_eq!(_0_1i * _0_1i * _0_1i * _0_1i, _1_0i); - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { assert_eq!(c * _1_0i, c); assert_eq!(_1_0i * c, c); } @@ -331,7 +331,7 @@ mod test { #[test] fn test_div() { assert_eq!(_neg1_1i / _0_1i, _1_1i); - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { if c != Zero::zero() { assert_eq!(c / c, _1_0i); } @@ -341,7 +341,7 @@ mod test { fn test_neg() { assert_eq!(-_1_0i + _0_1i, _neg1_1i); assert_eq!((-_0_1i) * _0_1i, _1_0i); - foreach &c in all_consts.iter() { + for &c in all_consts.iter() { assert_eq!(-(-c), c); } } diff --git a/src/libextra/num/rational.rs b/src/libextra/num/rational.rs index af09ba42b80..60dd36a3b88 100644 --- a/src/libextra/num/rational.rs +++ b/src/libextra/num/rational.rs @@ -500,7 +500,7 @@ mod test { } let xs = ["0 /1", "abc", "", "1/", "--1/2","3/2/1"]; - foreach &s in xs.iter() { + for &s in xs.iter() { test(s); } } @@ -540,7 +540,7 @@ mod test { } let xs = ["0 /1", "abc", "", "1/", "--1/2","3/2/1", "3/2"]; - foreach &s in xs.iter() { + for &s in xs.iter() { test(s); } } diff --git a/src/libextra/priority_queue.rs b/src/libextra/priority_queue.rs index 9873ab3d858..696ecc881b7 100644 --- a/src/libextra/priority_queue.rs +++ b/src/libextra/priority_queue.rs @@ -206,7 +206,7 @@ impl> Extendable for PriorityQueue { let len = self.capacity(); self.reserve_at_least(len + lower); - foreach elem in *iter { + for elem in *iter { self.push(elem); } } @@ -223,7 +223,7 @@ mod tests { let iterout = ~[9, 5, 3]; let pq = PriorityQueue::from_vec(data); let mut i = 0; - foreach el in pq.iter() { + for el in pq.iter() { assert_eq!(*el, iterout[i]); i += 1; } @@ -369,7 +369,7 @@ mod tests { let mut q: PriorityQueue = xs.rev_iter().transform(|&x| x).collect(); - foreach &x in xs.iter() { + for &x in xs.iter() { assert_eq!(q.pop(), x); } } diff --git a/src/libextra/ringbuf.rs b/src/libextra/ringbuf.rs index f3f34a3becc..89d23191a76 100644 --- a/src/libextra/ringbuf.rs +++ b/src/libextra/ringbuf.rs @@ -38,7 +38,7 @@ impl Container for RingBuf { impl Mutable for RingBuf { /// Clear the RingBuf, removing all values. fn clear(&mut self) { - foreach x in self.elts.mut_iter() { *x = None } + for x in self.elts.mut_iter() { *x = None } self.nelts = 0; self.lo = 0; } @@ -277,7 +277,7 @@ fn grow(nelts: uint, loptr: &mut uint, elts: &mut ~[Option]) { elts.reserve(newlen); /* fill with None */ - foreach _ in range(elts.len(), elts.capacity()) { + for _ in range(elts.len(), elts.capacity()) { elts.push(None); } @@ -292,11 +292,11 @@ fn grow(nelts: uint, loptr: &mut uint, elts: &mut ~[Option]) { assert!(newlen - nelts/2 >= nelts); if lo <= (nelts - lo) { // A - foreach i in range(0u, lo) { + for i in range(0u, lo) { elts.swap(i, nelts + i); } } else { // B - foreach i in range(lo, nelts) { + for i in range(lo, nelts) { elts.swap(i, newlen - nelts + i); } *loptr += newlen - nelts; @@ -333,7 +333,7 @@ impl> FromIterator for RingBuf { impl> Extendable for RingBuf { fn extend(&mut self, iterator: &mut T) { - foreach elt in *iterator { + for elt in *iterator { self.push_back(elt); } } @@ -461,21 +461,21 @@ mod tests { #[test] fn test_push_front_grow() { let mut deq = RingBuf::new(); - foreach i in range(0u, 66) { + for i in range(0u, 66) { deq.push_front(i); } assert_eq!(deq.len(), 66); - foreach i in range(0u, 66) { + for i in range(0u, 66) { assert_eq!(*deq.get(i), 65 - i); } let mut deq = RingBuf::new(); - foreach i in range(0u, 66) { + for i in range(0u, 66) { deq.push_back(i); } - foreach i in range(0u, 66) { + for i in range(0u, 66) { assert_eq!(*deq.get(i), i); } } @@ -606,12 +606,12 @@ mod tests { assert_eq!(d.iter().next(), None); assert_eq!(d.iter().size_hint(), (0, Some(0))); - foreach i in range(0, 5) { + for i in range(0, 5) { d.push_back(i); } assert_eq!(d.iter().collect::<~[&int]>(), ~[&0,&1,&2,&3,&4]); - foreach i in range(6, 9) { + for i in range(6, 9) { d.push_front(i); } assert_eq!(d.iter().collect::<~[&int]>(), ~[&8,&7,&6,&0,&1,&2,&3,&4]); @@ -631,12 +631,12 @@ mod tests { let mut d = RingBuf::new(); assert_eq!(d.rev_iter().next(), None); - foreach i in range(0, 5) { + for i in range(0, 5) { d.push_back(i); } assert_eq!(d.rev_iter().collect::<~[&int]>(), ~[&4,&3,&2,&1,&0]); - foreach i in range(6, 9) { + for i in range(6, 9) { d.push_front(i); } assert_eq!(d.rev_iter().collect::<~[&int]>(), ~[&4,&3,&2,&1,&0,&6,&7,&8]); @@ -647,11 +647,11 @@ mod tests { let mut d = RingBuf::new(); assert!(d.mut_iter().next().is_none()); - foreach i in range(0u, 3) { + for i in range(0u, 3) { d.push_front(i); } - foreach (i, elt) in d.mut_iter().enumerate() { + for (i, elt) in d.mut_iter().enumerate() { assert_eq!(*elt, 2 - i); *elt = i; } @@ -670,11 +670,11 @@ mod tests { let mut d = RingBuf::new(); assert!(d.mut_rev_iter().next().is_none()); - foreach i in range(0u, 3) { + for i in range(0u, 3) { d.push_front(i); } - foreach (i, elt) in d.mut_rev_iter().enumerate() { + for (i, elt) in d.mut_rev_iter().enumerate() { assert_eq!(*elt, i); *elt = i; } @@ -698,7 +698,7 @@ mod tests { let mut seq = iterator::Counter::new(0u, 2).take_(256); let deq: RingBuf = seq.collect(); - foreach (i, &x) in deq.iter().enumerate() { + for (i, &x) in deq.iter().enumerate() { assert_eq!(2*i, x); } assert_eq!(deq.len(), 256); diff --git a/src/libextra/serialize.rs b/src/libextra/serialize.rs index ad8f9297bfb..c44505694b1 100644 --- a/src/libextra/serialize.rs +++ b/src/libextra/serialize.rs @@ -443,7 +443,7 @@ impl + 'static> Decodable for @mut T { impl<'self, S:Encoder,T:Encodable> Encodable for &'self [T] { fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { - foreach (i, e) in self.iter().enumerate() { + for (i, e) in self.iter().enumerate() { s.emit_seq_elt(i, |s| e.encode(s)) } } @@ -453,7 +453,7 @@ impl<'self, S:Encoder,T:Encodable> Encodable for &'self [T] { impl> Encodable for ~[T] { fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { - foreach (i, e) in self.iter().enumerate() { + for (i, e) in self.iter().enumerate() { s.emit_seq_elt(i, |s| e.encode(s)) } } @@ -473,7 +473,7 @@ impl> Decodable for ~[T] { impl> Encodable for @[T] { fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { - foreach (i, e) in self.iter().enumerate() { + for (i, e) in self.iter().enumerate() { s.emit_seq_elt(i, |s| e.encode(s)) } } @@ -667,7 +667,7 @@ impl< > Encodable for DList { fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { - foreach (i, e) in self.iter().enumerate() { + for (i, e) in self.iter().enumerate() { s.emit_seq_elt(i, |s| e.encode(s)); } } @@ -678,7 +678,7 @@ impl> Decodable for DList { fn decode(d: &mut D) -> DList { let mut list = DList::new(); do d.read_seq |d, len| { - foreach i in range(0u, len) { + for i in range(0u, len) { list.push_back(d.read_seq_elt(i, |d| Decodable::decode(d))); } } @@ -692,7 +692,7 @@ impl< > Encodable for RingBuf { fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { - foreach (i, e) in self.iter().enumerate() { + for (i, e) in self.iter().enumerate() { s.emit_seq_elt(i, |s| e.encode(s)); } } @@ -703,7 +703,7 @@ impl> Decodable for RingBuf { fn decode(d: &mut D) -> RingBuf { let mut deque = RingBuf::new(); do d.read_seq |d, len| { - foreach i in range(0u, len) { + for i in range(0u, len) { deque.push_back(d.read_seq_elt(i, |d| Decodable::decode(d))); } } @@ -719,7 +719,7 @@ impl< fn encode(&self, e: &mut E) { do e.emit_map(self.len()) |e| { let mut i = 0; - foreach (key, val) in self.iter() { + for (key, val) in self.iter() { e.emit_map_elt_key(i, |e| key.encode(e)); e.emit_map_elt_val(i, |e| val.encode(e)); i += 1; @@ -736,7 +736,7 @@ impl< fn decode(d: &mut D) -> HashMap { do d.read_map |d, len| { let mut map = HashMap::with_capacity(len); - foreach i in range(0u, len) { + for i in range(0u, len) { let key = d.read_map_elt_key(i, |d| Decodable::decode(d)); let val = d.read_map_elt_val(i, |d| Decodable::decode(d)); map.insert(key, val); @@ -753,7 +753,7 @@ impl< fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { let mut i = 0; - foreach e in self.iter() { + for e in self.iter() { s.emit_seq_elt(i, |s| e.encode(s)); i += 1; } @@ -768,7 +768,7 @@ impl< fn decode(d: &mut D) -> HashSet { do d.read_seq |d, len| { let mut set = HashSet::with_capacity(len); - foreach i in range(0u, len) { + for i in range(0u, len) { set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))); } set @@ -800,7 +800,7 @@ impl< fn decode(d: &mut D) -> TrieMap { do d.read_map |d, len| { let mut map = TrieMap::new(); - foreach i in range(0u, len) { + for i in range(0u, len) { let key = d.read_map_elt_key(i, |d| Decodable::decode(d)); let val = d.read_map_elt_val(i, |d| Decodable::decode(d)); map.insert(key, val); @@ -827,7 +827,7 @@ impl Decodable for TrieSet { fn decode(d: &mut D) -> TrieSet { do d.read_seq |d, len| { let mut set = TrieSet::new(); - foreach i in range(0u, len) { + for i in range(0u, len) { set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))); } set @@ -843,7 +843,7 @@ impl< fn encode(&self, e: &mut E) { do e.emit_map(self.len()) |e| { let mut i = 0; - foreach (key, val) in self.iter() { + for (key, val) in self.iter() { e.emit_map_elt_key(i, |e| key.encode(e)); e.emit_map_elt_val(i, |e| val.encode(e)); i += 1; @@ -860,7 +860,7 @@ impl< fn decode(d: &mut D) -> TreeMap { do d.read_map |d, len| { let mut map = TreeMap::new(); - foreach i in range(0u, len) { + for i in range(0u, len) { let key = d.read_map_elt_key(i, |d| Decodable::decode(d)); let val = d.read_map_elt_val(i, |d| Decodable::decode(d)); map.insert(key, val); @@ -877,7 +877,7 @@ impl< fn encode(&self, s: &mut S) { do s.emit_seq(self.len()) |s| { let mut i = 0; - foreach e in self.iter() { + for e in self.iter() { s.emit_seq_elt(i, |s| e.encode(s)); i += 1; } @@ -892,7 +892,7 @@ impl< fn decode(d: &mut D) -> TreeSet { do d.read_seq |d, len| { let mut set = TreeSet::new(); - foreach i in range(0u, len) { + for i in range(0u, len) { set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))); } set @@ -912,7 +912,7 @@ pub trait EncoderHelpers { impl EncoderHelpers for S { fn emit_from_vec(&mut self, v: &[T], f: &fn(&mut S, &T)) { do self.emit_seq(v.len()) |this| { - foreach (i, e) in v.iter().enumerate() { + for (i, e) in v.iter().enumerate() { do this.emit_seq_elt(i) |this| { f(this, e) } diff --git a/src/libextra/smallintmap.rs b/src/libextra/smallintmap.rs index 8b8e3faaf9a..39efe4eda4b 100644 --- a/src/libextra/smallintmap.rs +++ b/src/libextra/smallintmap.rs @@ -30,7 +30,7 @@ impl Container for SmallIntMap { /// Return the number of elements in the map fn len(&self) -> uint { let mut sz = 0; - foreach i in range(0u, self.v.len()) { + for i in range(0u, self.v.len()) { match self.v[i] { Some(_) => sz += 1, None => {} @@ -123,7 +123,7 @@ impl SmallIntMap { /// Visit all key-value pairs in order pub fn each<'a>(&'a self, it: &fn(&uint, &'a V) -> bool) -> bool { - foreach i in range(0u, self.v.len()) { + for i in range(0u, self.v.len()) { match self.v[i] { Some(ref elt) => if !it(&i, elt) { return false; }, None => () @@ -144,7 +144,7 @@ impl SmallIntMap { /// Iterate over the map and mutate the contained values pub fn mutate_values(&mut self, it: &fn(&uint, &mut V) -> bool) -> bool { - foreach i in range(0, self.v.len()) { + for i in range(0, self.v.len()) { match self.v[i] { Some(ref mut elt) => if !it(&i, elt) { return false; }, None => () @@ -446,7 +446,7 @@ mod test_map { assert!(m.insert(6, 10)); assert!(m.insert(10, 11)); - foreach (k, v) in m.mut_iter() { + for (k, v) in m.mut_iter() { *v += k as int; } @@ -488,7 +488,7 @@ mod test_map { assert!(m.insert(6, 10)); assert!(m.insert(10, 11)); - foreach (k, v) in m.mut_rev_iter() { + for (k, v) in m.mut_rev_iter() { *v += k as int; } @@ -506,7 +506,7 @@ mod test_map { let mut m = SmallIntMap::new(); m.insert(1, ~2); let mut called = false; - foreach (k, v) in m.consume() { + for (k, v) in m.consume() { assert!(!called); called = true; assert_eq!(k, 1); diff --git a/src/libextra/sort.rs b/src/libextra/sort.rs index ffcfc500b5e..8090dd26ef2 100644 --- a/src/libextra/sort.rs +++ b/src/libextra/sort.rs @@ -470,7 +470,7 @@ impl MergeState { assert!(len1 != 0 && len2 != 0 && base1+len1 == base2); let mut tmp = ~[]; - foreach i in range(base1, base1+len1) { + for i in range(base1, base1+len1) { tmp.push(array[i].clone()); } @@ -580,7 +580,7 @@ impl MergeState { assert!(len1 != 1 && len2 != 0 && base1 + len1 == base2); let mut tmp = ~[]; - foreach i in range(base2, base2+len2) { + for i in range(base2, base2+len2) { tmp.push(array[i].clone()); } @@ -732,7 +732,7 @@ fn copy_vec(dest: &mut [T], from: &[T]) { assert!(s1+from.len() <= dest.len()); - foreach (i, v) in from.iter().enumerate() { + for (i, v) in from.iter().enumerate() { dest[s1+i] = (*v).clone(); } } @@ -842,7 +842,7 @@ mod test_qsort { let immut_names = names; let pairs = vec::zip_slice(expected, immut_names); - foreach p in pairs.iter() { + for p in pairs.iter() { let (a, b) = *p; debug!("%d %d", a, b); assert_eq!(a, b); @@ -1054,7 +1054,7 @@ mod big_tests { fn tabulate_unique(lo: uint, hi: uint) { fn isSorted(arr: &[T]) { - foreach i in range(0u, arr.len() - 1) { + for i in range(0u, arr.len() - 1) { if arr[i] > arr[i+1] { fail!("Array not sorted"); } @@ -1063,7 +1063,7 @@ mod big_tests { let mut rng = rand::rng(); - foreach i in range(lo, hi) { + for i in range(lo, hi) { let n = 1 << i; let mut arr: ~[float] = do vec::from_fn(n) |_i| { rng.gen() @@ -1125,7 +1125,7 @@ mod big_tests { fn tabulate_managed(lo: uint, hi: uint) { fn isSorted(arr: &[@T]) { - foreach i in range(0u, arr.len() - 1) { + for i in range(0u, arr.len() - 1) { if arr[i] > arr[i+1] { fail!("Array not sorted"); } @@ -1134,7 +1134,7 @@ mod big_tests { let mut rng = rand::rng(); - foreach i in range(lo, hi) { + for i in range(lo, hi) { let n = 1 << i; let arr: ~[@float] = do vec::from_fn(n) |_i| { @rng.gen() diff --git a/src/libextra/stats.rs b/src/libextra/stats.rs index 69d0a343424..68d5af43688 100644 --- a/src/libextra/stats.rs +++ b/src/libextra/stats.rs @@ -167,7 +167,7 @@ impl<'self> Stats for &'self [f64] { } else { let mean = self.mean(); let mut v = 0.0; - foreach s in self.iter() { + for s in self.iter() { let x = *s - mean; v += x*x; } @@ -254,7 +254,7 @@ pub fn winsorize(samples: &mut [f64], pct: f64) { sort::tim_sort(tmp); let lo = percentile_of_sorted(tmp, pct); let hi = percentile_of_sorted(tmp, 100.0-pct); - foreach samp in samples.mut_iter() { + for samp in samples.mut_iter() { if *samp > hi { *samp = hi } else if *samp < lo { diff --git a/src/libextra/sync.rs b/src/libextra/sync.rs index 276f9cad7c6..63e371899a9 100644 --- a/src/libextra/sync.rs +++ b/src/libextra/sync.rs @@ -893,13 +893,13 @@ mod tests { } // wait until all children get in the mutex - foreach port in ports.iter() { let _ = port.recv(); } + for port in ports.iter() { let _ = port.recv(); } do m.lock_cond |cond| { let num_woken = cond.broadcast(); assert_eq!(num_woken, num_waiters); } // wait until all children wake up - foreach port in ports.iter() { let _ = port.recv(); } + for port in ports.iter() { let _ = port.recv(); } } #[test] fn test_mutex_cond_broadcast() { @@ -991,7 +991,7 @@ mod tests { } } } - foreach p in sibling_convos.iter() { + for p in sibling_convos.iter() { let _ = p.recv(); // wait for sibling to get in the mutex } do m2.lock { } @@ -1001,7 +1001,7 @@ mod tests { assert!(result.is_err()); // child task must have finished by the time try returns let r = p.recv(); - foreach p in r.iter() { p.recv(); } // wait on all its siblings + for p in r.iter() { p.recv(); } // wait on all its siblings do m.lock_cond |cond| { let woken = cond.broadcast(); assert_eq!(woken, 0); @@ -1253,13 +1253,13 @@ mod tests { } // wait until all children get in the mutex - foreach port in ports.iter() { let _ = port.recv(); } + for port in ports.iter() { let _ = port.recv(); } do lock_cond(x, dg2) |cond| { let num_woken = cond.broadcast(); assert_eq!(num_woken, num_waiters); } // wait until all children wake up - foreach port in ports.iter() { let _ = port.recv(); } + for port in ports.iter() { let _ = port.recv(); } } #[test] fn test_rwlock_cond_broadcast() { diff --git a/src/libextra/task_pool.rs b/src/libextra/task_pool.rs index ddb3c31ec05..17588b93ec4 100644 --- a/src/libextra/task_pool.rs +++ b/src/libextra/task_pool.rs @@ -35,7 +35,7 @@ pub struct TaskPool { #[unsafe_destructor] impl Drop for TaskPool { fn drop(&self) { - foreach channel in self.channels.iter() { + for channel in self.channels.iter() { channel.send(Quit); } } diff --git a/src/libextra/tempfile.rs b/src/libextra/tempfile.rs index 79b26003696..cb1bde14056 100644 --- a/src/libextra/tempfile.rs +++ b/src/libextra/tempfile.rs @@ -19,7 +19,7 @@ use std::rand; /// have the suffix `suffix`. If no directory can be created, None is returned. pub fn mkdtemp(tmpdir: &Path, suffix: &str) -> Option { let mut r = rand::rng(); - foreach _ in range(0u, 1000) { + for _ in range(0u, 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/terminfo/parm.rs b/src/libextra/terminfo/parm.rs index 3669c1ea0a3..b619e0f33b6 100644 --- a/src/libextra/terminfo/parm.rs +++ b/src/libextra/terminfo/parm.rs @@ -102,11 +102,11 @@ pub fn expand(cap: &[u8], params: &[Param], vars: &mut Variables) Number(0), Number(0), Number(0), Number(0), Number(0), Number(0), Number(0), Number(0), Number(0), ]; - foreach (dst, src) in mparams.mut_iter().zip(params.iter()) { + for (dst, src) in mparams.mut_iter().zip(params.iter()) { *dst = (*src).clone(); } - foreach c in cap.iter().transform(|&x| x) { + for c in cap.iter().transform(|&x| x) { let cur = c as char; let mut old_state = state; match state { @@ -605,7 +605,7 @@ mod test { let mut varstruct = Variables::new(); let vars = &mut varstruct; let caps = ["%d", "%c", "%s", "%Pa", "%l", "%!", "%~"]; - foreach cap in caps.iter() { + for cap in caps.iter() { let res = expand(cap.as_bytes(), [], vars); assert!(res.is_err(), "Op %s succeeded incorrectly with 0 stack entries", *cap); @@ -615,7 +615,7 @@ mod test { "Op %s failed with 1 stack entry: %s", *cap, res.unwrap_err()); } let caps = ["%+", "%-", "%*", "%/", "%m", "%&", "%|", "%A", "%O"]; - foreach cap in caps.iter() { + for cap in caps.iter() { let res = expand(cap.as_bytes(), [], vars); assert!(res.is_err(), "Binop %s succeeded incorrectly with 0 stack entries", *cap); @@ -636,7 +636,7 @@ mod test { #[test] fn test_comparison_ops() { let v = [('<', [1u8, 0u8, 0u8]), ('=', [0u8, 1u8, 0u8]), ('>', [0u8, 0u8, 1u8])]; - foreach &(op, bs) in v.iter() { + for &(op, bs) in v.iter() { let s = fmt!("%%{1}%%{2}%%%c%%d", op); let res = expand(s.as_bytes(), [], &mut Variables::new()); assert!(res.is_ok(), res.unwrap_err()); diff --git a/src/libextra/terminfo/parser/compiled.rs b/src/libextra/terminfo/parser/compiled.rs index 869f7d9df2b..426cacb62fa 100644 --- a/src/libextra/terminfo/parser/compiled.rs +++ b/src/libextra/terminfo/parser/compiled.rs @@ -222,7 +222,7 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> { let mut bools_map = HashMap::new(); if bools_bytes != 0 { - foreach i in range(0, bools_bytes) { + for i in range(0, bools_bytes) { let b = file.read_byte(); if b < 0 { error!("EOF reading bools after %? entries", i); @@ -243,7 +243,7 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> { let mut numbers_map = HashMap::new(); if numbers_count != 0 { - foreach i in range(0, numbers_count) { + for i in range(0, numbers_count) { let n = file.read_le_u16(); if n != 0xFFFF { debug!("%s#%?", nnames[i], n); @@ -258,7 +258,7 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> { if string_offsets_count != 0 { let mut string_offsets = vec::with_capacity(10); - foreach _ in range(0, string_offsets_count) { + for _ in range(0, string_offsets_count) { string_offsets.push(file.read_le_u16()); } @@ -272,7 +272,7 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> { return Err(~"error: hit EOF before end of string table"); } - foreach (i, v) in string_offsets.iter().enumerate() { + for (i, v) in string_offsets.iter().enumerate() { let offset = *v; if offset == 0xFFFF { // non-entry loop; diff --git a/src/libextra/terminfo/searcher.rs b/src/libextra/terminfo/searcher.rs index 175cf836c47..f7999050804 100644 --- a/src/libextra/terminfo/searcher.rs +++ b/src/libextra/terminfo/searcher.rs @@ -35,7 +35,7 @@ pub fn get_dbpath_for_term(term: &str) -> Option<~path> { dirs_to_search.push(homedir.unwrap().push(".terminfo")); // ncurses compatability } match getenv("TERMINFO_DIRS") { - Some(dirs) => foreach i in dirs.split_iter(':') { + Some(dirs) => for i in dirs.split_iter(':') { if i == "" { dirs_to_search.push(path("/usr/share/terminfo")); } else { @@ -54,7 +54,7 @@ pub fn get_dbpath_for_term(term: &str) -> Option<~path> { }; // Look for the terminal in all of the search directories - foreach p in dirs_to_search.iter() { + for p in dirs_to_search.iter() { let newp = ~p.push_many(&[str::from_char(first_char), term.to_owned()]); if os::path_exists(p) && os::path_exists(newp) { return Some(newp); diff --git a/src/libextra/test.rs b/src/libextra/test.rs index fd5d3fb21b1..02481693eb9 100644 --- a/src/libextra/test.rs +++ b/src/libextra/test.rs @@ -429,11 +429,11 @@ impl ConsoleTestState { pub fn write_failures(&self) { self.out.write_line("\nfailures:"); let mut failures = ~[]; - foreach f in self.failures.iter() { + for f in self.failures.iter() { failures.push(f.name.to_str()); } sort::tim_sort(failures); - foreach name in failures.iter() { + for name in failures.iter() { self.out.write_line(fmt!(" %s", name.to_str())); } } @@ -445,7 +445,7 @@ impl ConsoleTestState { let mut added = 0; let mut removed = 0; - foreach (k, v) in diff.iter() { + for (k, v) in diff.iter() { match *v { LikelyNoise => noise += 1, MetricAdded => { @@ -565,7 +565,7 @@ pub fn run_tests_console(opts: &TestOpts, TrIgnored => st.ignored += 1, TrMetrics(mm) => { let tname = test.name.to_str(); - foreach (k,v) in mm.iter() { + for (k,v) in mm.iter() { st.metrics.insert_metric(tname + "." + *k, v.value, v.noise); } @@ -699,7 +699,7 @@ fn run_tests(opts: &TestOpts, // All benchmarks run at the end, in serial. // (this includes metric fns) - foreach b in filtered_benchs_and_metrics.consume_iter() { + for b in filtered_benchs_and_metrics.consume_iter() { callback(TeWait(b.desc.clone())); run_test(!opts.run_benchmarks, b, ch.clone()); let (test, result) = p.recv(); @@ -887,7 +887,7 @@ impl MetricMap { pub fn compare_to_old(&self, old: &MetricMap, noise_pct: Option) -> MetricDiff { let mut diff : MetricDiff = TreeMap::new(); - foreach (k, vold) in old.iter() { + for (k, vold) in old.iter() { let r = match self.find(k) { None => MetricRemoved, Some(v) => { @@ -924,7 +924,7 @@ impl MetricMap { }; diff.insert((*k).clone(), r); } - foreach (k, _) in self.iter() { + for (k, _) in self.iter() { if !diff.contains_key(k) { diff.insert((*k).clone(), MetricAdded); } @@ -990,7 +990,7 @@ impl BenchHarness { pub fn iter(&mut self, inner:&fn()) { self.ns_start = precise_time_ns(); let k = self.iterations; - foreach _ in range(0u64, k) { + for _ in range(0u64, k) { inner(); } self.ns_end = precise_time_ns(); @@ -1039,7 +1039,7 @@ impl BenchHarness { loop { let loop_start = precise_time_ns(); - foreach p in samples.mut_iter() { + for p in samples.mut_iter() { self.bench_n(n as u64, |x| f(x)); *p = self.ns_per_iter() as f64; }; @@ -1047,7 +1047,7 @@ impl BenchHarness { stats::winsorize(samples, 5.0); let summ = stats::Summary::new(samples); - foreach p in samples.mut_iter() { + for p in samples.mut_iter() { self.bench_n(5 * n as u64, |x| f(x)); *p = self.ns_per_iter() as f64; }; @@ -1287,7 +1287,7 @@ mod tests { { fn testfn() { } let mut tests = ~[]; - foreach name in names.iter() { + for name in names.iter() { let test = TestDescAndFn { desc: TestDesc { name: DynTestName((*name).clone()), @@ -1313,7 +1313,7 @@ mod tests { let pairs = vec::zip(expected, filtered); - foreach p in pairs.iter() { + for p in pairs.iter() { match *p { (ref a, ref b) => { assert!(*a == b.desc.name.to_str()); diff --git a/src/libextra/time.rs b/src/libextra/time.rs index d95ac6d6c25..efc3dc87adc 100644 --- a/src/libextra/time.rs +++ b/src/libextra/time.rs @@ -257,7 +257,7 @@ impl Tm { priv fn do_strptime(s: &str, format: &str) -> Result { fn match_str(s: &str, pos: uint, needle: &str) -> bool { let mut i = pos; - foreach ch in needle.byte_iter() { + for ch in needle.byte_iter() { if s[i] != ch { return false; } @@ -1036,7 +1036,7 @@ mod tests { ~"Friday", ~"Saturday" ]; - foreach day in days.iter() { + for day in days.iter() { assert!(test(*day, "%A")); } @@ -1049,7 +1049,7 @@ mod tests { ~"Fri", ~"Sat" ]; - foreach day in days.iter() { + for day in days.iter() { assert!(test(*day, "%a")); } @@ -1067,7 +1067,7 @@ mod tests { ~"November", ~"December" ]; - foreach day in months.iter() { + for day in months.iter() { assert!(test(*day, "%B")); } @@ -1085,7 +1085,7 @@ mod tests { ~"Nov", ~"Dec" ]; - foreach day in months.iter() { + for day in months.iter() { assert!(test(*day, "%b")); } diff --git a/src/libextra/treemap.rs b/src/libextra/treemap.rs index 82c7bf6caf1..ed777347fba 100644 --- a/src/libextra/treemap.rs +++ b/src/libextra/treemap.rs @@ -47,7 +47,7 @@ impl Eq for TreeMap { } else { let mut x = self.iter(); let mut y = other.iter(); - foreach _ in range(0u, self.len()) { + for _ in range(0u, self.len()) { if x.next().unwrap() != y.next().unwrap() { return false } @@ -65,7 +65,7 @@ fn lt(a: &TreeMap, let mut y = b.iter(); let (a_len, b_len) = (a.len(), b.len()); - foreach _ in range(0u, num::min(a_len, b_len)) { + for _ in range(0u, 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; } @@ -674,7 +674,7 @@ fn remove(node: &mut Option<~TreeNode>, fn heir_swap(node: &mut ~TreeNode, child: &mut Option<~TreeNode>) { // *could* be done without recursion, but it won't borrow check - foreach x in child.mut_iter() { + for x in child.mut_iter() { if x.right.is_some() { heir_swap(node, &mut x.right); } else { @@ -729,18 +729,18 @@ fn remove(node: &mut Option<~TreeNode>, save.level -= 1; if right_level > save.level { - foreach x in save.right.mut_iter() { x.level = save.level } + for x in save.right.mut_iter() { x.level = save.level } } skew(save); - foreach right in save.right.mut_iter() { + for right in save.right.mut_iter() { skew(right); - foreach x in right.right.mut_iter() { skew(x) } + for x in right.right.mut_iter() { skew(x) } } split(save); - foreach x in save.right.mut_iter() { split(x) } + for x in save.right.mut_iter() { split(x) } } return ret; @@ -763,7 +763,7 @@ impl> FromIterator<(K, V), T> for TreeMap> Extendable<(K, V), T> for TreeMap { #[inline] fn extend(&mut self, iter: &mut T) { - foreach (k, v) in *iter { + for (k, v) in *iter { self.insert(k, v); } } @@ -780,7 +780,7 @@ impl> FromIterator for TreeSet { impl> Extendable for TreeSet { #[inline] fn extend(&mut self, iter: &mut Iter) { - foreach elem in *iter { + for elem in *iter { self.insert(elem); } } @@ -863,13 +863,13 @@ mod test_treemap { fn check_equal(ctrl: &[(K, V)], map: &TreeMap) { assert_eq!(ctrl.is_empty(), map.is_empty()); - foreach x in ctrl.iter() { + for x in ctrl.iter() { let &(ref k, ref v) = x; assert!(map.find(k).unwrap() == v) } - foreach (map_k, map_v) in map.iter() { + for (map_k, map_v) in map.iter() { let mut found = false; - foreach x in ctrl.iter() { + for x in ctrl.iter() { let &(ref ctrl_k, ref ctrl_v) = x; if *map_k == *ctrl_k { assert!(*map_v == *ctrl_v); @@ -983,7 +983,7 @@ mod test_treemap { assert!(m.insert(1, 2)); let mut n = 0; - foreach (k, v) in m.iter() { + for (k, v) in m.iter() { assert_eq!(*k, n); assert_eq!(*v, n * 2); n += 1; @@ -1091,7 +1091,7 @@ mod test_treemap { (&x5, &y5)]; let mut i = 0; - foreach x in b { + for x in b { assert_eq!(expected[i], x); i += 1; @@ -1100,7 +1100,7 @@ mod test_treemap { } } - foreach x in b { + for x in b { assert_eq!(expected[i], x); i += 1; } @@ -1112,7 +1112,7 @@ mod test_treemap { let map: TreeMap = xs.iter().transform(|&x| x).collect(); - foreach &(k, v) in xs.iter() { + for &(k, v) in xs.iter() { assert_eq!(map.find(&k), Some(&v)); } } @@ -1260,7 +1260,7 @@ mod test_set { assert!(m.insert(1)); let mut n = 0; - foreach x in m.iter() { + for x in m.iter() { printfln!(x); assert_eq!(*x, n); n += 1 @@ -1290,8 +1290,8 @@ mod test_set { let mut set_a = TreeSet::new(); let mut set_b = TreeSet::new(); - foreach x in a.iter() { assert!(set_a.insert(*x)) } - foreach y in b.iter() { assert!(set_b.insert(*y)) } + for x in a.iter() { assert!(set_a.insert(*x)) } + for y in b.iter() { assert!(set_b.insert(*y)) } let mut i = 0; do f(&set_a, &set_b) |x| { @@ -1413,7 +1413,7 @@ mod test_set { let set: TreeSet = xs.iter().transform(|&x| x).collect(); - foreach x in xs.iter() { + for x in xs.iter() { assert!(set.contains(x)); } } diff --git a/src/libextra/url.rs b/src/libextra/url.rs index 9b4bf9d0ad4..523c3521f86 100644 --- a/src/libextra/url.rs +++ b/src/libextra/url.rs @@ -206,10 +206,10 @@ pub fn encode_form_urlencoded(m: &HashMap<~str, ~[~str]>) -> ~str { let mut out = ~""; let mut first = true; - foreach (key, values) in m.iter() { + for (key, values) in m.iter() { let key = encode_plus(*key); - foreach value in values.iter() { + for value in values.iter() { if first { first = false; } else { @@ -331,7 +331,7 @@ fn userinfo_to_str(userinfo: &UserInfo) -> ~str { fn query_from_str(rawquery: &str) -> Query { let mut query: Query = ~[]; if !rawquery.is_empty() { - foreach p in rawquery.split_iter('&') { + for p in rawquery.split_iter('&') { let (k, v) = split_char_first(p, '='); query.push((decode_component(k), decode_component(v))); }; @@ -341,7 +341,7 @@ fn query_from_str(rawquery: &str) -> Query { pub fn query_to_str(query: &Query) -> ~str { let mut strvec = ~[]; - foreach kv in query.iter() { + for kv in query.iter() { match kv { &(ref k, ref v) => { strvec.push(fmt!("%s=%s", @@ -356,7 +356,7 @@ pub fn query_to_str(query: &Query) -> ~str { // returns the scheme and the rest of the url, or a parsing error pub fn get_scheme(rawurl: &str) -> Result<(~str, ~str), ~str> { - foreach (i,c) in rawurl.iter().enumerate() { + for (i,c) in rawurl.iter().enumerate() { match c { 'A' .. 'Z' | 'a' .. 'z' => loop, '0' .. '9' | '+' | '-' | '.' => { @@ -418,7 +418,7 @@ fn get_authority(rawurl: &str) -> let mut begin = 2; let mut end = len; - foreach (i,c) in rawurl.iter().enumerate() { + for (i,c) in rawurl.iter().enumerate() { if i < 2 { loop; } // ignore the leading // // deal with input class first @@ -563,7 +563,7 @@ fn get_path(rawurl: &str, authority: bool) -> Result<(~str, ~str), ~str> { let len = rawurl.len(); let mut end = len; - foreach (i,c) in rawurl.iter().enumerate() { + for (i,c) in rawurl.iter().enumerate() { match c { 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '&' |'\'' | '(' | ')' | '.' | '@' | ':' | '%' | '/' | '+' | '!' | '*' | ',' | ';' | '=' diff --git a/src/libextra/workcache.rs b/src/libextra/workcache.rs index d28407a984a..0256519abb7 100644 --- a/src/libextra/workcache.rs +++ b/src/libextra/workcache.rs @@ -286,7 +286,7 @@ impl<'self> Prep<'self> { } fn all_fresh(&self, cat: &str, map: &WorkMap) -> bool { - foreach (k, v) in map.iter() { + for (k, v) in map.iter() { if ! self.is_fresh(cat, k.kind, k.name, *v) { return false; } diff --git a/src/librust/rust.rs b/src/librust/rust.rs index 0d2148c4a12..1ac8146bb58 100644 --- a/src/librust/rust.rs +++ b/src/librust/rust.rs @@ -215,7 +215,7 @@ fn usage() { \n" ); - foreach command in COMMANDS.iter() { + for command in COMMANDS.iter() { let padding = " ".repeat(INDENT - command.cmd.len()); printfln!(" %s%s%s", command.cmd, padding, command.usage_line); } @@ -240,7 +240,7 @@ pub fn main() { if !args.is_empty() { let r = find_cmd(*args.head()); - foreach command in r.iter() { + for command in r.iter() { let result = do_command(command, args.tail()); match result { Valid(exit_code) => unsafe { exit(exit_code.to_i32()) }, diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index 02cb7f168ce..f066ede65f9 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -141,7 +141,7 @@ pub mod jit { let cstore = sess.cstore; let r = cstore::get_used_crate_files(cstore); - foreach cratepath in r.iter() { + for cratepath in r.iter() { let path = cratepath.to_str(); debug!("linking: %s", path); @@ -507,7 +507,7 @@ pub fn build_link_meta(sess: Session, let mut cmh_items = ~[]; let linkage_metas = attr::find_linkage_metas(c.attrs); attr::require_unique_names(sess.diagnostic(), linkage_metas); - foreach meta in linkage_metas.iter() { + for meta in linkage_metas.iter() { match meta.name_str_pair() { Some((n, value)) if "name" == n => name = Some(value), Some((n, value)) if "vers" == n => vers = Some(value), @@ -547,7 +547,7 @@ pub fn build_link_meta(sess: Session, } ast::MetaList(name, ref mis) => { write_string(symbol_hasher, len_and_str(name)); - foreach m_ in mis.iter() { + for m_ in mis.iter() { hash(symbol_hasher, m_); } } @@ -555,11 +555,11 @@ pub fn build_link_meta(sess: Session, } symbol_hasher.reset(); - foreach m in cmh_items.iter() { + for m in cmh_items.iter() { hash(symbol_hasher, m); } - foreach dh in dep_hashes.iter() { + for dh in dep_hashes.iter() { write_string(symbol_hasher, len_and_str(*dh)); } @@ -665,7 +665,7 @@ pub fn get_symbol_hash(ccx: &mut CrateContext, t: ty::t) -> @str { // gas accepts the following characters in symbols: a-z, A-Z, 0-9, ., _, $ pub fn sanitize(s: &str) -> ~str { let mut result = ~""; - foreach c in s.iter() { + for c in s.iter() { match c { // Escape these with $ sequences '@' => result.push_str("$SP$"), @@ -712,7 +712,7 @@ pub fn mangle(sess: Session, ss: path) -> ~str { let mut n = ~"_ZN"; // Begin name-sequence. - foreach s in ss.iter() { + for s in ss.iter() { match *s { path_name(s) | path_mod(s) => { let sani = sanitize(sess.str_of(s)); @@ -905,7 +905,7 @@ pub fn link_args(sess: Session, let cstore = sess.cstore; let r = cstore::get_used_crate_files(cstore); - foreach cratepath in r.iter() { + for cratepath in r.iter() { if cratepath.filetype() == Some(~".rlib") { args.push(cratepath.to_str()); loop; @@ -917,12 +917,12 @@ pub fn link_args(sess: Session, } let ula = cstore::get_used_link_args(cstore); - foreach arg in ula.iter() { args.push(arg.to_owned()); } + for arg in ula.iter() { args.push(arg.to_owned()); } // Add all the link args for external crates. do cstore::iter_crate_data(cstore) |crate_num, _| { let link_args = csearch::get_link_args_for_crate(cstore, crate_num); - foreach link_arg in link_args.consume_iter() { + for link_arg in link_args.consume_iter() { args.push(link_arg); } } @@ -935,13 +935,13 @@ pub fn link_args(sess: Session, // to be found at compile time so it is still entirely up to outside // forces to make sure that library can be found at runtime. - foreach path in sess.opts.addl_lib_search_paths.iter() { + for path in sess.opts.addl_lib_search_paths.iter() { args.push(~"-L" + path.to_str()); } // The names of the extern libraries let used_libs = cstore::get_used_libraries(cstore); - foreach l in used_libs.iter() { args.push(~"-l" + *l); } + for l in used_libs.iter() { args.push(~"-l" + *l); } if *sess.building_library { args.push(lib_cmd); diff --git a/src/librustc/back/passes.rs b/src/librustc/back/passes.rs index 831719135b1..714e7d666ac 100644 --- a/src/librustc/back/passes.rs +++ b/src/librustc/back/passes.rs @@ -164,7 +164,7 @@ pub fn create_standard_passes(level: OptLevel) -> ~[~str] { } pub fn populate_pass_manager(sess: Session, pm: &mut PassManager, pass_list:&[~str]) { - foreach nm in pass_list.iter() { + for nm in pass_list.iter() { match create_pass(*nm) { Some(p) => pm.add_pass(p), None => sess.warn(fmt!("Unknown pass %s", *nm)) @@ -189,15 +189,15 @@ pub fn list_passes() { io::println("\nAvailable Passes:"); io::println("\nAnalysis Passes:"); - foreach &(name, desc) in analysis_passes.iter() { + for &(name, desc) in analysis_passes.iter() { printfln!(" %-30s -- %s", name, desc); } io::println("\nTransformation Passes:"); - foreach &(name, desc) in transform_passes.iter() { + for &(name, desc) in transform_passes.iter() { printfln!(" %-30s -- %s", name, desc); } io::println("\nUtility Passes:"); - foreach &(name, desc) in utility_passes.iter() { + for &(name, desc) in utility_passes.iter() { printfln!(" %-30s -- %s", name, desc); } } @@ -315,7 +315,7 @@ static utility_passes : &'static [(&'static str, &'static str)] = &'static [ fn passes_exist() { let mut failed = ~[]; unsafe { llvm::LLVMInitializePasses(); } - foreach &(name,_) in analysis_passes.iter() { + for &(name,_) in analysis_passes.iter() { let pass = create_pass(name); if !pass.is_some() { failed.push(name); @@ -323,7 +323,7 @@ fn passes_exist() { unsafe { llvm::LLVMDestroyPass(pass.get()) } } } - foreach &(name,_) in transform_passes.iter() { + for &(name,_) in transform_passes.iter() { let pass = create_pass(name); if !pass.is_some() { failed.push(name); @@ -331,7 +331,7 @@ fn passes_exist() { unsafe { llvm::LLVMDestroyPass(pass.get()) } } } - foreach &(name,_) in utility_passes.iter() { + for &(name,_) in utility_passes.iter() { let pass = create_pass(name); if !pass.is_some() { failed.push(name); @@ -342,7 +342,7 @@ fn passes_exist() { if failed.len() > 0 { io::println("Some passes don't exist:"); - foreach &n in failed.iter() { + for &n in failed.iter() { printfln!(" %s", n); } fail!(); diff --git a/src/librustc/back/rpath.rs b/src/librustc/back/rpath.rs index 22ef2e2278c..571721ed40c 100644 --- a/src/librustc/back/rpath.rs +++ b/src/librustc/back/rpath.rs @@ -63,7 +63,7 @@ fn get_rpaths(os: session::os, debug!("sysroot: %s", sysroot.to_str()); debug!("output: %s", output.to_str()); debug!("libs:"); - foreach libpath in libs.iter() { + for libpath in libs.iter() { debug!(" %s", libpath.to_str()); } debug!("target_triple: %s", target_triple); @@ -82,7 +82,7 @@ fn get_rpaths(os: session::os, fn log_rpaths(desc: &str, rpaths: &[Path]) { debug!("%s rpaths:", desc); - foreach rpath in rpaths.iter() { + for rpath in rpaths.iter() { debug!(" %s", rpath.to_str()); } } @@ -149,7 +149,7 @@ pub fn get_relative_to(abs1: &Path, abs2: &Path) -> Path { } let mut path = ~[]; - foreach _ in range(start_idx, len1 - 1) { path.push(~".."); }; + for _ in range(start_idx, len1 - 1) { path.push(~".."); }; path.push_all(split2.slice(start_idx, len2 - 1)); @@ -182,7 +182,7 @@ pub fn get_install_prefix_rpath(target_triple: &str) -> Path { pub fn minimize_rpaths(rpaths: &[Path]) -> ~[Path] { let mut set = HashSet::new(); let mut minimized = ~[]; - foreach rpath in rpaths.iter() { + for rpath in rpaths.iter() { if set.insert(rpath.to_str()) { minimized.push(rpath.clone()); } diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs index f4fb65c2a83..1c983057dba 100644 --- a/src/librustc/driver/driver.rs +++ b/src/librustc/driver/driver.rs @@ -508,7 +508,7 @@ pub fn pretty_print_input(sess: Session, cfg: ast::CrateConfig, input: &input, } pub fn get_os(triple: &str) -> Option { - foreach &(name, os) in os_names.iter() { + for &(name, os) in os_names.iter() { if triple.contains(name) { return Some(os) } } None @@ -522,7 +522,7 @@ static os_names : &'static [(&'static str, session::os)] = &'static [ ("freebsd", session::os_freebsd)]; pub fn get_arch(triple: &str) -> Option { - foreach &(arch, abi) in architecture_abis.iter() { + for &(arch, abi) in architecture_abis.iter() { if triple.contains(arch) { return Some(abi) } } None @@ -611,7 +611,7 @@ pub fn build_session_options(binary: @str, lint::deny, lint::forbid]; let mut lint_opts = ~[]; let lint_dict = lint::get_lint_dict(); - foreach level in lint_levels.iter() { + for level in lint_levels.iter() { let level_name = lint::level_to_str(*level); // FIXME: #4318 Instead of to_ascii and to_str_ascii, could use @@ -620,7 +620,7 @@ pub fn build_session_options(binary: @str, let level_short = level_short.to_ascii().to_upper().to_str_ascii(); let flags = vec::append(getopts::opt_strs(matches, level_short), getopts::opt_strs(matches, level_name)); - foreach lint_name in flags.iter() { + for lint_name in flags.iter() { let lint_name = lint_name.replace("-", "_"); match lint_dict.find_equiv(&lint_name) { None => { @@ -637,9 +637,9 @@ pub fn build_session_options(binary: @str, let mut debugging_opts = 0u; let debug_flags = getopts::opt_strs(matches, "Z"); let debug_map = session::debugging_opts_map(); - foreach debug_flag in debug_flags.iter() { + for debug_flag in debug_flags.iter() { let mut this_bit = 0u; - foreach tuple in debug_map.iter() { + for tuple in debug_map.iter() { let (name, bit) = match *tuple { (ref a, _, b) => (a, b) }; if name == debug_flag { this_bit = bit; break; } } diff --git a/src/librustc/front/test.rs b/src/librustc/front/test.rs index 2730858d498..8ca68251cb8 100644 --- a/src/librustc/front/test.rs +++ b/src/librustc/front/test.rs @@ -380,7 +380,7 @@ fn is_extra(cx: &TestCtxt) -> bool { fn mk_test_descs(cx: &TestCtxt) -> @ast::expr { debug!("building test vector from %u tests", cx.testfns.len()); let mut descs = ~[]; - foreach test in cx.testfns.iter() { + for test in cx.testfns.iter() { descs.push(mk_test_desc_and_fn_rec(cx, test)); } diff --git a/src/librustc/metadata/creader.rs b/src/librustc/metadata/creader.rs index 644f4a78349..d8f14228824 100644 --- a/src/librustc/metadata/creader.rs +++ b/src/librustc/metadata/creader.rs @@ -65,7 +65,7 @@ struct cache_entry { fn dump_crates(crate_cache: &[cache_entry]) { debug!("resolved crates:"); - foreach entry in crate_cache.iter() { + for entry in crate_cache.iter() { debug!("cnum: %?", entry.cnum); debug!("span: %?", entry.span); debug!("hash: %?", entry.hash); @@ -97,7 +97,7 @@ fn warn_if_multiple_versions(e: @mut Env, if matches.len() != 1u { diag.handler().warn( fmt!("using multiple versions of crate `%s`", name)); - foreach match_ in matches.iter() { + for match_ in matches.iter() { diag.span_note(match_.span, "used here"); let attrs = ~[ attr::mk_attr(attr::mk_list_item(@"link", @@ -125,7 +125,7 @@ struct Env { fn visit_crate(e: &Env, c: &ast::Crate) { let cstore = e.cstore; - foreach a in c.attrs.iter().filter(|m| "link_args" == m.name()) { + for a in c.attrs.iter().filter(|m| "link_args" == m.name()) { match a.value_str() { Some(ref linkarg) => { cstore::add_used_link_args(cstore, *linkarg); @@ -194,7 +194,7 @@ fn visit_item(e: &Env, i: @ast::item) { ast::anonymous => { /* do nothing */ } } - foreach m in link_args.iter() { + for m in link_args.iter() { match m.value_str() { Some(linkarg) => { cstore::add_used_link_args(cstore, linkarg); @@ -223,7 +223,7 @@ fn metas_with_ident(ident: @str, metas: ~[@ast::MetaItem]) fn existing_match(e: &Env, metas: &[@ast::MetaItem], hash: &str) -> Option { - foreach c in e.crate_cache.iter() { + for c in e.crate_cache.iter() { if loader::metadata_matches(*c.metas, metas) && (hash.is_empty() || c.hash.as_slice() == hash) { return Some(c.cnum); @@ -306,7 +306,7 @@ fn resolve_crate_deps(e: @mut Env, cdata: @~[u8]) -> cstore::cnum_map { // numbers let mut cnum_map = HashMap::new(); let r = decoder::get_crate_deps(cdata); - foreach dep in r.iter() { + for dep in r.iter() { let extrn_cnum = dep.cnum; let cname = dep.name; let cname_str = token::ident_to_str(&dep.name); diff --git a/src/librustc/metadata/cstore.rs b/src/librustc/metadata/cstore.rs index 9a681bf6a07..33623a40cfb 100644 --- a/src/librustc/metadata/cstore.rs +++ b/src/librustc/metadata/cstore.rs @@ -84,7 +84,7 @@ pub fn have_crate_data(cstore: &CStore, cnum: ast::CrateNum) -> bool { pub fn iter_crate_data(cstore: &CStore, i: &fn(ast::CrateNum, @crate_metadata)) { - foreach (&k, &v) in cstore.metas.iter() { + for (&k, &v) in cstore.metas.iter() { i(k, v); } } @@ -114,7 +114,7 @@ pub fn get_used_libraries<'a>(cstore: &'a CStore) -> &'a [@str] { } pub fn add_used_link_args(cstore: &mut CStore, args: &str) { - foreach s in args.split_iter(' ') { + for s in args.split_iter(' ') { cstore.used_link_args.push(s.to_managed()); } } @@ -148,7 +148,7 @@ struct crate_hash { pub fn get_dep_hashes(cstore: &CStore) -> ~[@str] { let mut result = ~[]; - foreach (_, &cnum) in cstore.extern_mod_crate_map.iter() { + for (_, &cnum) in cstore.extern_mod_crate_map.iter() { let cdata = cstore::get_crate_data(cstore, cnum); let hash = decoder::get_crate_hash(cdata.data); let vers = decoder::get_crate_vers(cdata.data); @@ -165,7 +165,7 @@ pub fn get_dep_hashes(cstore: &CStore) -> ~[@str] { }; debug!("sorted:"); - foreach x in sorted.iter() { + for x in sorted.iter() { debug!(" hash[%s]: %s", x.name, x.hash); } diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs index 4824fe55f1d..c3097d1aa66 100644 --- a/src/librustc/metadata/decoder.rs +++ b/src/librustc/metadata/decoder.rs @@ -761,7 +761,7 @@ pub fn get_enum_variants(intr: @ident_interner, cdata: cmd, id: ast::NodeId, let mut infos: ~[@ty::VariantInfo] = ~[]; let variant_ids = enum_variant_ids(item, cdata); let mut disr_val = 0; - foreach did in variant_ids.iter() { + for did in variant_ids.iter() { let item = find_item(did.node, items); let ctor_ty = item_type(ast::def_id { crate: cdata.cnum, node: id}, item, tcx, cdata); @@ -974,7 +974,7 @@ pub fn get_static_methods_if_impl(intr: @ident_interner, }; let mut static_impl_methods = ~[]; - foreach impl_method_id in impl_method_ids.iter() { + for impl_method_id in impl_method_ids.iter() { let impl_method_doc = lookup_item(impl_method_id.node, cdata.data); let family = item_family(impl_method_doc); match family { @@ -1171,7 +1171,7 @@ fn list_meta_items(intr: @ident_interner, meta_items: ebml::Doc, out: @io::Writer) { let r = get_meta_items(meta_items); - foreach mi in r.iter() { + for mi in r.iter() { out.write_str(fmt!("%s\n", pprust::meta_item_to_str(*mi, intr))); } } @@ -1181,7 +1181,7 @@ fn list_crate_attributes(intr: @ident_interner, md: ebml::Doc, hash: &str, out.write_str(fmt!("=Crate Attributes (%s)=\n", hash)); let r = get_attributes(md); - foreach attr in r.iter() { + for attr in r.iter() { out.write_str(fmt!("%s\n", pprust::attribute_to_str(attr, intr))); } @@ -1224,7 +1224,7 @@ fn list_crate_deps(data: @~[u8], out: @io::Writer) { out.write_str("=External Dependencies=\n"); let r = get_crate_deps(data); - foreach dep in r.iter() { + for dep in r.iter() { out.write_str( fmt!("%d %s-%s-%s\n", dep.cnum, token::ident_to_str(&dep.name), dep.hash, dep.vers)); diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index 74a3ba57543..d847d851126 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -120,7 +120,7 @@ fn encode_region_param(ecx: &EncodeContext, ebml_w: &mut writer::Encoder, it: @ast::item) { let opt_rp = ecx.tcx.region_paramd_items.find(&it.id); - foreach rp in opt_rp.iter() { + for rp in opt_rp.iter() { ebml_w.start_tag(tag_region_param); rp.encode(ebml_w); ebml_w.end_tag(); @@ -193,7 +193,7 @@ fn encode_ty_type_param_defs(ebml_w: &mut writer::Encoder, tcx: ecx.tcx, abbrevs: tyencode::ac_use_abbrevs(ecx.type_abbrevs) }; - foreach param in params.iter() { + for param in params.iter() { ebml_w.start_tag(tag); tyencode::enc_type_param_def(ebml_w.writer, ty_str_ctxt, param); ebml_w.end_tag(); @@ -250,7 +250,7 @@ fn encode_type(ecx: &EncodeContext, fn encode_transformed_self_ty(ecx: &EncodeContext, ebml_w: &mut writer::Encoder, opt_typ: Option) { - foreach &typ in opt_typ.iter() { + for &typ in opt_typ.iter() { ebml_w.start_tag(tag_item_method_transformed_self_ty); write_type(ecx, ebml_w, typ); ebml_w.end_tag(); @@ -327,7 +327,7 @@ fn encode_enum_variant_info(ecx: &EncodeContext, let mut i = 0; let vi = ty::enum_variants(ecx.tcx, ast::def_id { crate: LOCAL_CRATE, node: id }); - foreach variant in variants.iter() { + for variant in variants.iter() { let def_id = local_def(variant.node.id); index.push(entry {val: variant.node.id, pos: ebml_w.writer.tell()}); ebml_w.start_tag(tag_items_data_item); @@ -375,7 +375,7 @@ fn encode_path(ecx: &EncodeContext, ebml_w.start_tag(tag_path); ebml_w.wr_tagged_u32(tag_path_len, (path.len() + 1) as u32); - foreach pe in path.iter() { + for pe in path.iter() { encode_path_elt(ecx, ebml_w, *pe); } encode_path_elt(ecx, ebml_w, name); @@ -405,8 +405,8 @@ fn encode_reexported_static_base_methods(ecx: &EncodeContext, -> bool { match ecx.tcx.inherent_impls.find(&exp.def_id) { Some(implementations) => { - foreach &base_impl in implementations.iter() { - foreach &m in base_impl.methods.iter() { + for &base_impl in implementations.iter() { + for &m in base_impl.methods.iter() { if m.explicit_self == ast::sty_static { encode_reexported_static_method(ecx, ebml_w, exp, m.def_id, m.ident); @@ -426,7 +426,7 @@ fn encode_reexported_static_trait_methods(ecx: &EncodeContext, -> bool { match ecx.tcx.trait_methods_cache.find(&exp.def_id) { Some(methods) => { - foreach &m in methods.iter() { + for &m in methods.iter() { if m.explicit_self == ast::sty_static { encode_reexported_static_method(ecx, ebml_w, exp, m.def_id, m.ident); @@ -486,7 +486,7 @@ fn each_auxiliary_node_id(item: @item, callback: &fn(NodeId) -> bool) let mut continue = true; match item.node { item_enum(ref enum_def, _) => { - foreach variant in enum_def.variants.iter() { + for variant in enum_def.variants.iter() { continue = callback(variant.node.id); if !continue { break @@ -518,7 +518,7 @@ fn encode_reexports(ecx: &EncodeContext, match ecx.reexports2.find(&id) { Some(ref exports) => { debug!("(encoding info for module) found reexports for %d", id); - foreach exp in exports.iter() { + for exp in exports.iter() { debug!("(encoding info for module) reexport '%s' for %d", exp.name, id); ebml_w.start_tag(tag_items_data_item_reexport); @@ -553,7 +553,7 @@ fn encode_info_for_mod(ecx: &EncodeContext, debug!("(encoding info for module) encoding info for module ID %d", id); // Encode info about all the module children. - foreach item in md.items.iter() { + for item in md.items.iter() { ebml_w.start_tag(tag_mod_child); ebml_w.wr_str(def_to_str(local_def(item.id))); ebml_w.end_tag(); @@ -664,7 +664,7 @@ fn encode_method_sort(ebml_w: &mut writer::Encoder, sort: char) { fn encode_provided_source(ebml_w: &mut writer::Encoder, source_opt: Option) { - foreach source in source_opt.iter() { + for source in source_opt.iter() { ebml_w.start_tag(tag_item_method_provided_source); let s = def_to_str(*source); ebml_w.writer.write(s.as_bytes()); @@ -685,7 +685,7 @@ fn encode_info_for_struct(ecx: &EncodeContext, let tcx = ecx.tcx; /* We encode both private and public fields -- need to include private fields to get the offsets right */ - foreach field in fields.iter() { + for field in fields.iter() { let (nm, vis) = match field.node.kind { named_field(nm, vis) => (nm, vis), unnamed_field => (special_idents::unnamed_field, inherited) @@ -772,7 +772,7 @@ fn encode_info_for_method(ecx: &EncodeContext, encode_path(ecx, ebml_w, impl_path, ast_map::path_name(m.ident)); - foreach ast_method in ast_method_opt.iter() { + for ast_method in ast_method_opt.iter() { let num_params = tpt.generics.type_param_defs.len(); if num_params > 0u || is_default_impl || should_inline(ast_method.attrs) { @@ -882,7 +882,7 @@ fn encode_info_for_item(ecx: &EncodeContext, encode_path(ecx, ebml_w, path, ast_map::path_name(item.ident)); // Encode all the items in this module. - foreach foreign_item in fm.items.iter() { + for foreign_item in fm.items.iter() { ebml_w.start_tag(tag_mod_child); ebml_w.wr_str(def_to_str(local_def(foreign_item.id))); ebml_w.end_tag(); @@ -909,7 +909,7 @@ fn encode_info_for_item(ecx: &EncodeContext, encode_family(ebml_w, 't'); encode_bounds_and_type(ebml_w, ecx, &lookup_item_type(tcx, def_id)); encode_name(ecx, ebml_w, item.ident); - foreach v in (*enum_definition).variants.iter() { + for v in (*enum_definition).variants.iter() { encode_variant_id(ebml_w, local_def(v.node.id)); } (ecx.encode_inlined_item)(ecx, ebml_w, path, ii_item(item)); @@ -950,7 +950,7 @@ fn encode_info_for_item(ecx: &EncodeContext, /* Encode def_ids for each field and method for methods, write all the stuff get_trait_method needs to know*/ - foreach f in struct_def.fields.iter() { + for f in struct_def.fields.iter() { match f.node.kind { named_field(ident, vis) => { ebml_w.start_tag(tag_item_field); @@ -1010,13 +1010,13 @@ fn encode_info_for_item(ecx: &EncodeContext, } _ => {} } - foreach method in imp.methods.iter() { + for method in imp.methods.iter() { ebml_w.start_tag(tag_item_impl_method); let s = def_to_str(method.def_id); ebml_w.writer.write(s.as_bytes()); ebml_w.end_tag(); } - foreach ast_trait_ref in opt_trait.iter() { + for ast_trait_ref in opt_trait.iter() { let trait_ref = ty::node_id_to_trait_ref( tcx, ast_trait_ref.ref_id); encode_trait_ref(ebml_w, ecx, trait_ref, tag_item_trait_ref); @@ -1035,7 +1035,7 @@ fn encode_info_for_item(ecx: &EncodeContext, // appear first in the impl structure, in the same order they do // in the ast. This is a little sketchy. let num_implemented_methods = ast_methods.len(); - foreach (i, m) in imp.methods.iter().enumerate() { + for (i, m) in imp.methods.iter().enumerate() { let ast_method = if i < num_implemented_methods { Some(ast_methods[i]) } else { None }; @@ -1063,7 +1063,7 @@ fn encode_info_for_item(ecx: &EncodeContext, encode_trait_ref(ebml_w, ecx, trait_def.trait_ref, tag_item_trait_ref); encode_name(ecx, ebml_w, item.ident); encode_attributes(ebml_w, item.attrs); - foreach &method_def_id in ty::trait_method_def_ids(tcx, def_id).iter() { + for &method_def_id in ty::trait_method_def_ids(tcx, def_id).iter() { ebml_w.start_tag(tag_item_trait_method); encode_def_id(ebml_w, method_def_id); ebml_w.end_tag(); @@ -1073,7 +1073,7 @@ fn encode_info_for_item(ecx: &EncodeContext, ebml_w.end_tag(); } encode_path(ecx, ebml_w, path, ast_map::path_name(item.ident)); - foreach ast_trait_ref in super_traits.iter() { + for ast_trait_ref in super_traits.iter() { let trait_ref = ty::node_id_to_trait_ref(ecx.tcx, ast_trait_ref.ref_id); encode_trait_ref(ebml_w, ecx, trait_ref, tag_item_super_trait_ref); } @@ -1081,7 +1081,7 @@ fn encode_info_for_item(ecx: &EncodeContext, // Now output the method info for each method. let r = ty::trait_method_def_ids(tcx, def_id); - foreach (i, &method_def_id) in r.iter().enumerate() { + for (i, &method_def_id) in r.iter().enumerate() { assert_eq!(method_def_id.crate, ast::LOCAL_CRATE); let method_ty = ty::method(tcx, method_def_id); @@ -1257,14 +1257,14 @@ fn create_index( index: ~[entry]) -> ~[@~[entry]] { let mut buckets: ~[@mut ~[entry]] = ~[]; - foreach _ in range(0u, 256u) { buckets.push(@mut ~[]); }; - foreach elt in index.iter() { + for _ in range(0u, 256u) { buckets.push(@mut ~[]); }; + for elt in index.iter() { let h = elt.val.hash() as uint; buckets[h % 256].push((*elt).clone()); } let mut buckets_frozen = ~[]; - foreach bucket in buckets.iter() { + for bucket in buckets.iter() { buckets_frozen.push(@/*bad*/(**bucket).clone()); } return buckets_frozen; @@ -1278,10 +1278,10 @@ fn encode_index( ebml_w.start_tag(tag_index); let mut bucket_locs: ~[uint] = ~[]; ebml_w.start_tag(tag_index_buckets); - foreach bucket in buckets.iter() { + for bucket in buckets.iter() { bucket_locs.push(ebml_w.writer.tell()); ebml_w.start_tag(tag_index_buckets_bucket); - foreach elt in (**bucket).iter() { + for elt in (**bucket).iter() { ebml_w.start_tag(tag_index_buckets_bucket_elt); assert!(elt.pos < 0xffff_ffff); writer.write_be_u32(elt.pos as u32); @@ -1292,7 +1292,7 @@ fn encode_index( } ebml_w.end_tag(); ebml_w.start_tag(tag_index_table); - foreach pos in bucket_locs.iter() { + for pos in bucket_locs.iter() { assert!(*pos < 0xffff_ffff); writer.write_be_u32(*pos as u32); } @@ -1338,7 +1338,7 @@ fn encode_meta_item(ebml_w: &mut writer::Encoder, mi: @MetaItem) { ebml_w.start_tag(tag_meta_item_name); ebml_w.writer.write(name.as_bytes()); ebml_w.end_tag(); - foreach inner_item in items.iter() { + for inner_item in items.iter() { encode_meta_item(ebml_w, *inner_item); } ebml_w.end_tag(); @@ -1348,7 +1348,7 @@ fn encode_meta_item(ebml_w: &mut writer::Encoder, mi: @MetaItem) { fn encode_attributes(ebml_w: &mut writer::Encoder, attrs: &[Attribute]) { ebml_w.start_tag(tag_attributes); - foreach attr in attrs.iter() { + for attr in attrs.iter() { ebml_w.start_tag(tag_attribute); encode_meta_item(ebml_w, attr.node.value); ebml_w.end_tag(); @@ -1378,7 +1378,7 @@ fn synthesize_crate_attrs(ecx: &EncodeContext, let mut meta_items = ~[name_item, vers_item]; - foreach &mi in items.iter().filter(|mi| "name" != mi.name() && "vers" != mi.name()) { + for &mi in items.iter().filter(|mi| "name" != mi.name() && "vers" != mi.name()) { meta_items.push(mi); } let link_item = attr::mk_list_item(@"link", meta_items); @@ -1388,7 +1388,7 @@ fn synthesize_crate_attrs(ecx: &EncodeContext, let mut attrs = ~[]; let mut found_link_attr = false; - foreach attr in crate.attrs.iter() { + for attr in crate.attrs.iter() { attrs.push( if "link" != attr.name() { *attr @@ -1430,7 +1430,7 @@ fn encode_crate_deps(ecx: &EncodeContext, // Sanity-check the crate numbers let mut expected_cnum = 1; - foreach n in deps.iter() { + for n in deps.iter() { assert_eq!(n.cnum, expected_cnum); expected_cnum += 1; } @@ -1444,7 +1444,7 @@ fn encode_crate_deps(ecx: &EncodeContext, // but is enough to get transitive crate dependencies working. ebml_w.start_tag(tag_crate_deps); let r = get_ordered_deps(ecx, cstore); - foreach dep in r.iter() { + for dep in r.iter() { encode_crate_dep(ecx, ebml_w, *dep); } ebml_w.end_tag(); @@ -1454,7 +1454,7 @@ fn encode_lang_items(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) { ebml_w.start_tag(tag_lang_items); do ecx.tcx.lang_items.each_item |def_id, i| { - foreach id in def_id.iter() { + for id in def_id.iter() { if id.crate == LOCAL_CRATE { ebml_w.start_tag(tag_lang_items_item); @@ -1479,7 +1479,7 @@ fn encode_link_args(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) { ebml_w.start_tag(tag_link_args); let link_args = cstore::get_used_link_args(ecx.cstore); - foreach link_arg in link_args.iter() { + for link_arg in link_args.iter() { ebml_w.start_tag(tag_link_args_arg); ebml_w.writer.write_str(link_arg.to_str()); ebml_w.end_tag(); @@ -1493,7 +1493,7 @@ fn encode_misc_info(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) { ebml_w.start_tag(tag_misc_info); ebml_w.start_tag(tag_misc_info_crate_items); - foreach &item in crate.module.items.iter() { + for &item in crate.module.items.iter() { ebml_w.start_tag(tag_mod_child); ebml_w.wr_str(def_to_str(local_def(item.id))); ebml_w.end_tag(); @@ -1630,7 +1630,7 @@ pub fn encode_metadata(parms: EncodeParams, crate: &Crate) -> ~[u8] { ecx.stats.total_bytes = *wr.pos; if (tcx.sess.meta_stats()) { - foreach e in wr.bytes.iter() { + for e in wr.bytes.iter() { if *e == 0 { ecx.stats.zero_bytes += 1; } diff --git a/src/librustc/metadata/filesearch.rs b/src/librustc/metadata/filesearch.rs index 765bf35b2b7..2422be3960b 100644 --- a/src/librustc/metadata/filesearch.rs +++ b/src/librustc/metadata/filesearch.rs @@ -91,7 +91,7 @@ pub fn search(filesearch: @FileSearch, pick: pick) -> Option { do filesearch.for_each_lib_search_path() |lib_search_path| { debug!("searching %s", lib_search_path.to_str()); let r = os::list_dir_path(lib_search_path); - foreach path in r.iter() { + for path in r.iter() { debug!("testing %s", path.to_str()); let maybe_picked = pick(path); if maybe_picked.is_some() { diff --git a/src/librustc/metadata/loader.rs b/src/librustc/metadata/loader.rs index 89a53df7316..9330cfc5c88 100644 --- a/src/librustc/metadata/loader.rs +++ b/src/librustc/metadata/loader.rs @@ -128,7 +128,7 @@ fn find_library_crate_aux( cx.diag.span_err( cx.span, fmt!("multiple matching crates for `%s`", crate_name)); cx.diag.handler().note("candidates:"); - foreach pair in matches.iter() { + for pair in matches.iter() { let ident = pair.first(); let data = pair.second(); cx.diag.handler().note(fmt!("path: %s", ident)); @@ -142,7 +142,7 @@ fn find_library_crate_aux( } pub fn crate_name_from_metas(metas: &[@ast::MetaItem]) -> @str { - foreach m in metas.iter() { + for m in metas.iter() { match m.name_str_pair() { Some((name, s)) if "name" == name => { return s; } _ => {} @@ -155,7 +155,7 @@ pub fn note_linkage_attrs(intr: @ident_interner, diag: @span_handler, attrs: ~[ast::Attribute]) { let r = attr::find_linkage_metas(attrs); - foreach mi in r.iter() { + for mi in r.iter() { diag.handler().note(fmt!("meta: %s", pprust::meta_item_to_str(*mi,intr))); } } diff --git a/src/librustc/metadata/tyencode.rs b/src/librustc/metadata/tyencode.rs index f8fae5ce26b..ec50f564385 100644 --- a/src/librustc/metadata/tyencode.rs +++ b/src/librustc/metadata/tyencode.rs @@ -123,7 +123,7 @@ fn enc_substs(w: @io::Writer, cx: @ctxt, substs: &ty::substs) { enc_region_substs(w, cx, &substs.regions); do enc_opt(w, substs.self_ty) |t| { enc_ty(w, cx, t) } w.write_char('['); - foreach t in substs.tps.iter() { enc_ty(w, cx, *t); } + for t in substs.tps.iter() { enc_ty(w, cx, *t); } w.write_char(']'); } @@ -134,7 +134,7 @@ fn enc_region_substs(w: @io::Writer, cx: @ctxt, substs: &ty::RegionSubsts) { } ty::NonerasedRegions(ref regions) => { w.write_char('n'); - foreach &r in regions.iter() { + for &r in regions.iter() { enc_region(w, cx, r); } w.write_char('.'); @@ -288,7 +288,7 @@ fn enc_sty(w: @io::Writer, cx: @ctxt, st: &ty::sty) { } ty::ty_tup(ref ts) => { w.write_str(&"T["); - foreach t in ts.iter() { enc_ty(w, cx, *t); } + for t in ts.iter() { enc_ty(w, cx, *t); } w.write_char(']'); } ty::ty_box(mt) => { w.write_char('@'); enc_mt(w, cx, mt); } @@ -405,7 +405,7 @@ fn enc_closure_ty(w: @io::Writer, cx: @ctxt, ft: &ty::ClosureTy) { fn enc_fn_sig(w: @io::Writer, cx: @ctxt, fsig: &ty::FnSig) { w.write_char('['); - foreach ty in fsig.inputs.iter() { + for ty in fsig.inputs.iter() { enc_ty(w, cx, *ty); } w.write_char(']'); @@ -423,7 +423,7 @@ fn enc_bounds(w: @io::Writer, cx: @ctxt, bs: &ty::ParamBounds) { true }; - foreach &tp in bs.trait_bounds.iter() { + for &tp in bs.trait_bounds.iter() { w.write_char('I'); enc_trait_ref(w, cx, tp); } diff --git a/src/librustc/middle/astencode.rs b/src/librustc/middle/astencode.rs index 902ff02e5d3..34f4425a871 100644 --- a/src/librustc/middle/astencode.rs +++ b/src/librustc/middle/astencode.rs @@ -854,7 +854,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = tcx.def_map.find(&id); - foreach def in r.iter() { + for def in r.iter() { do ebml_w.tag(c::tag_table_def) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -866,7 +866,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = tcx.node_types.find(&(id as uint)); - foreach &ty in r.iter() { + for &ty in r.iter() { do ebml_w.tag(c::tag_table_node_type) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -878,7 +878,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = tcx.node_type_substs.find(&id); - foreach tys in r.iter() { + for tys in r.iter() { do ebml_w.tag(c::tag_table_node_type_subst) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -890,7 +890,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = tcx.freevars.find(&id); - foreach &fv in r.iter() { + for &fv in r.iter() { do ebml_w.tag(c::tag_table_freevars) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -905,7 +905,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, let lid = ast::def_id { crate: ast::LOCAL_CRATE, node: id }; { let r = tcx.tcache.find(&lid); - foreach &tpbt in r.iter() { + for &tpbt in r.iter() { do ebml_w.tag(c::tag_table_tcache) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -917,7 +917,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = tcx.ty_param_defs.find(&id); - foreach &type_param_def in r.iter() { + for &type_param_def in r.iter() { do ebml_w.tag(c::tag_table_param_defs) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -929,7 +929,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = maps.method_map.find(&id); - foreach &mme in r.iter() { + for &mme in r.iter() { do ebml_w.tag(c::tag_table_method_map) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -941,7 +941,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = maps.vtable_map.find(&id); - foreach &dr in r.iter() { + for &dr in r.iter() { do ebml_w.tag(c::tag_table_vtable_map) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -953,7 +953,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = tcx.adjustments.find(&id); - foreach adj in r.iter() { + for adj in r.iter() { do ebml_w.tag(c::tag_table_adjustments) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -965,7 +965,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext, { let r = maps.capture_map.find(&id); - foreach &cap_vars in r.iter() { + for &cap_vars in r.iter() { do ebml_w.tag(c::tag_table_capture_map) |ebml_w| { ebml_w.id(id); do ebml_w.tag(c::tag_table_val) |ebml_w| { @@ -1054,7 +1054,7 @@ impl ebml_decoder_decoder_helpers for reader::Decoder { fn type_string(doc: ebml::Doc) -> ~str { let mut str = ~""; - foreach i in range(doc.start, doc.end) { + for i in range(doc.start, doc.end) { str.push_char(doc.data[i] as char); } str diff --git a/src/librustc/middle/borrowck/check_loans.rs b/src/librustc/middle/borrowck/check_loans.rs index f6cc102938a..646840f1e30 100644 --- a/src/librustc/middle/borrowck/check_loans.rs +++ b/src/librustc/middle/borrowck/check_loans.rs @@ -116,7 +116,7 @@ impl<'self> CheckLoanCtxt<'self> { do self.each_in_scope_loan(scope_id) |loan| { let mut ret = true; - foreach restr in loan.restrictions.iter() { + for restr in loan.restrictions.iter() { if restr.loan_path == loan_path { if !op(loan, restr) { ret = false; @@ -152,16 +152,16 @@ impl<'self> CheckLoanCtxt<'self> { debug!("new_loan_indices = %?", new_loan_indices); do self.each_issued_loan(scope_id) |issued_loan| { - foreach &new_loan_index in new_loan_indices.iter() { + for &new_loan_index in new_loan_indices.iter() { let new_loan = &self.all_loans[new_loan_index]; self.report_error_if_loans_conflict(issued_loan, new_loan); } true }; - foreach i in range(0u, new_loan_indices.len()) { + for i in range(0u, new_loan_indices.len()) { let old_loan = &self.all_loans[new_loan_indices[i]]; - foreach j in range(i+1, new_loan_indices.len()) { + for j in range(i+1, new_loan_indices.len()) { let new_loan = &self.all_loans[new_loan_indices[j]]; self.report_error_if_loans_conflict(old_loan, new_loan); } @@ -211,7 +211,7 @@ impl<'self> CheckLoanCtxt<'self> { }; debug!("illegal_if=%?", illegal_if); - foreach restr in loan1.restrictions.iter() { + for restr in loan1.restrictions.iter() { if !restr.set.intersects(illegal_if) { loop; } if restr.loan_path != loan2.loan_path { loop; } @@ -652,7 +652,7 @@ fn check_loans_in_fn<'a>(fk: &oldvisit::fn_kind, closure_id: ast::NodeId, span: span) { let cap_vars = this.bccx.capture_map.get(&closure_id); - foreach cap_var in cap_vars.iter() { + for cap_var in cap_vars.iter() { let var_id = ast_util::def_id_of_def(cap_var.def).node; let var_path = @LpVar(var_id); this.check_if_path_is_moved(closure_id, span, @@ -713,7 +713,7 @@ fn check_loans_in_expr<'a>(expr: @ast::expr, let cmt = this.bccx.cat_expr_unadjusted(expr); debug!("path cmt=%s", cmt.repr(this.tcx())); let r = opt_loan_path(cmt); - foreach &lp in r.iter() { + for &lp in r.iter() { this.check_if_path_is_moved(expr.id, expr.span, MovedInUse, lp); } } diff --git a/src/librustc/middle/borrowck/gather_loans/gather_moves.rs b/src/librustc/middle/borrowck/gather_loans/gather_moves.rs index 7c24b30743d..54a5c09a0e9 100644 --- a/src/librustc/middle/borrowck/gather_loans/gather_moves.rs +++ b/src/librustc/middle/borrowck/gather_loans/gather_moves.rs @@ -70,7 +70,7 @@ pub fn gather_captures(bccx: @BorrowckCtxt, move_data: &mut MoveData, closure_expr: @ast::expr) { let captured_vars = bccx.capture_map.get(&closure_expr.id); - foreach captured_var in captured_vars.iter() { + for captured_var in captured_vars.iter() { match captured_var.mode { moves::CapMove => { let fvar_id = ast_util::def_id_of_def(captured_var.def).node; diff --git a/src/librustc/middle/borrowck/gather_loans/mod.rs b/src/librustc/middle/borrowck/gather_loans/mod.rs index a4d177becdd..b970a6585f6 100644 --- a/src/librustc/middle/borrowck/gather_loans/mod.rs +++ b/src/librustc/middle/borrowck/gather_loans/mod.rs @@ -189,7 +189,7 @@ fn gather_loans_in_expr(ex: @ast::expr, { let r = ex.get_callee_id(); - foreach callee_id in r.iter() { + for callee_id in r.iter() { this.id_range.add(*callee_id); } } @@ -197,7 +197,7 @@ fn gather_loans_in_expr(ex: @ast::expr, // If this expression is borrowed, have to ensure it remains valid: { let r = tcx.adjustments.find(&ex.id); - foreach &adjustments in r.iter() { + for &adjustments in r.iter() { this.guarantee_adjustments(ex, *adjustments); } } @@ -240,8 +240,8 @@ fn gather_loans_in_expr(ex: @ast::expr, ast::expr_match(ex_v, ref arms) => { let cmt = this.bccx.cat_expr(ex_v); - foreach arm in arms.iter() { - foreach pat in arm.pats.iter() { + for arm in arms.iter() { + for pat in arm.pats.iter() { this.gather_pat(cmt, *pat, Some((arm.body.id, ex.id))); } } @@ -619,7 +619,7 @@ impl GatherLoanCtxt { */ let mc_ctxt = self.bccx.mc_ctxt(); - foreach arg in decl.inputs.iter() { + for arg in decl.inputs.iter() { let arg_ty = ty::node_id_to_type(self.tcx(), arg.pat.id); let arg_cmt = mc_ctxt.cat_rvalue( diff --git a/src/librustc/middle/borrowck/gather_loans/restrictions.rs b/src/librustc/middle/borrowck/gather_loans/restrictions.rs index 9e4e85c3a5e..ad32eb0c805 100644 --- a/src/librustc/middle/borrowck/gather_loans/restrictions.rs +++ b/src/librustc/middle/borrowck/gather_loans/restrictions.rs @@ -139,7 +139,7 @@ impl RestrictionsContext { // static errors. For example, if there is code like // // let v = @mut ~[1, 2, 3]; - // foreach e in v.iter() { + // for e in v.iter() { // v.push(e + 1); // } // @@ -151,7 +151,7 @@ impl RestrictionsContext { // // let v = @mut ~[1, 2, 3]; // let w = v; - // foreach e in v.iter() { + // for e in v.iter() { // w.push(e + 1); // } // @@ -164,7 +164,7 @@ impl RestrictionsContext { // } // ... // let v: &V = ...; - // foreach e in v.get_list().iter() { + // for e in v.get_list().iter() { // v.get_list().push(e + 1); // } match opt_loan_path(cmt_base) { diff --git a/src/librustc/middle/borrowck/mod.rs b/src/librustc/middle/borrowck/mod.rs index afebae207bd..3db90ed5d74 100644 --- a/src/librustc/middle/borrowck/mod.rs +++ b/src/librustc/middle/borrowck/mod.rs @@ -139,7 +139,7 @@ fn borrowck_fn(fk: &oldvisit::fn_kind, LoanDataFlowOperator, id_range, all_loans.len()); - foreach (loan_idx, loan) in all_loans.iter().enumerate() { + for (loan_idx, loan) in all_loans.iter().enumerate() { loan_dfcx.add_gen(loan.gen_scope, loan_idx); loan_dfcx.add_kill(loan.kill_scope, loan_idx); } diff --git a/src/librustc/middle/borrowck/move_data.rs b/src/librustc/middle/borrowck/move_data.rs index 9285c1e1f64..164139ad733 100644 --- a/src/librustc/middle/borrowck/move_data.rs +++ b/src/librustc/middle/borrowck/move_data.rs @@ -372,22 +372,22 @@ impl MoveData { * killed by scoping. See `doc.rs` for more details. */ - foreach (i, move) in self.moves.iter().enumerate() { + for (i, move) in self.moves.iter().enumerate() { dfcx_moves.add_gen(move.id, i); } - foreach (i, assignment) in self.var_assignments.iter().enumerate() { + for (i, assignment) in self.var_assignments.iter().enumerate() { dfcx_assign.add_gen(assignment.id, i); self.kill_moves(assignment.path, assignment.id, dfcx_moves); } - foreach assignment in self.path_assignments.iter() { + for assignment in self.path_assignments.iter() { self.kill_moves(assignment.path, assignment.id, dfcx_moves); } // Kill all moves related to a variable `x` when it goes out // of scope: - foreach path in self.paths.iter() { + for path in self.paths.iter() { match *path.loan_path { LpVar(id) => { let kill_id = tcx.region_maps.encl_scope(id); @@ -399,7 +399,7 @@ impl MoveData { } // Kill all assignments when the variable goes out of scope: - foreach (assignment_index, assignment) in self.var_assignments.iter().enumerate() { + for (assignment_index, assignment) in self.var_assignments.iter().enumerate() { match *self.path(assignment.path).loan_path { LpVar(id) => { let kill_id = tcx.region_maps.encl_scope(id); @@ -559,7 +559,7 @@ impl FlowedMoveData { ret = false; } } else { - foreach &loan_path_index in opt_loan_path_index.iter() { + for &loan_path_index in opt_loan_path_index.iter() { let cont = do self.move_data.each_base_path(moved_path) |p| { if p == loan_path_index { // Scenario 3: some extension of `loan_path` diff --git a/src/librustc/middle/cfg/construct.rs b/src/librustc/middle/cfg/construct.rs index c1a44cc56da..f1d8502ff5f 100644 --- a/src/librustc/middle/cfg/construct.rs +++ b/src/librustc/middle/cfg/construct.rs @@ -53,7 +53,7 @@ pub fn construct(tcx: ty::ctxt, impl CFGBuilder { fn block(&mut self, blk: &ast::Block, pred: CFGIndex) -> CFGIndex { let mut stmts_exit = pred; - foreach &stmt in blk.stmts.iter() { + for &stmt in blk.stmts.iter() { stmts_exit = self.stmt(stmt, stmts_exit); } @@ -151,7 +151,7 @@ impl CFGBuilder { self.pat(pats[0], pred) } else { let collect = self.add_dummy_node([]); - foreach &pat in pats.iter() { + for &pat in pats.iter() { let pat_exit = self.pat(pat, pred); self.add_contained_edge(pat_exit, collect); } @@ -297,7 +297,7 @@ impl CFGBuilder { let expr_exit = self.add_node(expr.id, []); let mut guard_exit = discr_exit; - foreach arm in arms.iter() { + for arm in arms.iter() { guard_exit = self.opt_expr(arm.guard, guard_exit); // 2 let pats_exit = self.pats_any(arm.pats, guard_exit); // 3 let body_exit = self.block(&arm.body, pats_exit); // 4 @@ -460,7 +460,7 @@ impl CFGBuilder { assert!(!self.exit_map.contains_key(&id)); let node = self.graph.add_node(CFGNodeData {id: id}); self.exit_map.insert(id, node); - foreach &pred in preds.iter() { + for &pred in preds.iter() { self.add_contained_edge(pred, node); } node @@ -498,7 +498,7 @@ impl CFGBuilder { Some(_) => { match self.tcx.def_map.find(&expr.id) { Some(&ast::def_label(loop_id)) => { - foreach l in self.loop_scopes.iter() { + for l in self.loop_scopes.iter() { if l.loop_id == loop_id { return *l; } diff --git a/src/librustc/middle/check_const.rs b/src/librustc/middle/check_const.rs index 9416eb365b3..f9ef6dabcd6 100644 --- a/src/librustc/middle/check_const.rs +++ b/src/librustc/middle/check_const.rs @@ -47,8 +47,8 @@ pub fn check_item(sess: Session, check_item_recursion(sess, ast_map, def_map, it); } item_enum(ref enum_definition, _) => { - foreach var in (*enum_definition).variants.iter() { - foreach ex in var.node.disr_expr.iter() { + for var in (*enum_definition).variants.iter() { + for ex in var.node.disr_expr.iter() { (v.visit_expr)(*ex, (true, v)); } } diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs index 5cacbd2ec3f..4de096428f2 100644 --- a/src/librustc/middle/check_match.rs +++ b/src/librustc/middle/check_match.rs @@ -57,7 +57,7 @@ pub fn check_expr(cx: @MatchCheckCtxt, match ex.node { expr_match(scrut, ref arms) => { // First, check legality of move bindings. - foreach arm in arms.iter() { + for arm in arms.iter() { check_legality_of_move_bindings(cx, arm.guard.is_some(), arm.pats); @@ -102,8 +102,8 @@ pub fn check_expr(cx: @MatchCheckCtxt, // Check for unreachable patterns pub fn check_arms(cx: &MatchCheckCtxt, arms: &[arm]) { let mut seen = ~[]; - foreach arm in arms.iter() { - foreach pat in arm.pats.iter() { + for arm in arms.iter() { + for pat in arm.pats.iter() { // Check that we do not match against a static NaN (#6804) let pat_matches_nan: &fn(@pat) -> bool = |p| { @@ -246,7 +246,7 @@ pub fn is_useful(cx: &MatchCheckCtxt, m: &matrix, v: &[@pat]) -> useful { } } ty::ty_enum(eid, _) => { - foreach va in (*ty::enum_variants(cx.tcx, eid)).iter() { + for va in (*ty::enum_variants(cx.tcx, eid)).iter() { match is_useful_specialized(cx, m, v, variant(va.id), va.args.len(), left_ty) { not_useful => (), @@ -264,7 +264,7 @@ pub fn is_useful(cx: &MatchCheckCtxt, m: &matrix, v: &[@pat]) -> useful { _ => max_len } }; - foreach n in iterator::range(0u, max_len + 1) { + for n in iterator::range(0u, max_len + 1) { match is_useful_specialized(cx, m, v, vec(n), n, left_ty) { not_useful => (), ref u => return *u, @@ -368,16 +368,16 @@ pub fn missing_ctor(cx: &MatchCheckCtxt, match ty::get(left_ty).sty { ty::ty_box(_) | ty::ty_uniq(_) | ty::ty_rptr(*) | ty::ty_tup(_) | ty::ty_struct(*) => { - foreach r in m.iter() { + for r in m.iter() { if !is_wild(cx, r[0]) { return None; } } return Some(single); } ty::ty_enum(eid, _) => { let mut found = ~[]; - foreach r in m.iter() { + for r in m.iter() { let r = pat_ctor_id(cx, r[0]); - foreach id in r.iter() { + for id in r.iter() { if !found.contains(id) { found.push(*id); } @@ -385,7 +385,7 @@ pub fn missing_ctor(cx: &MatchCheckCtxt, } let variants = ty::enum_variants(cx.tcx, eid); if found.len() != (*variants).len() { - foreach v in (*variants).iter() { + for v in (*variants).iter() { if !found.iter().any(|x| x == &(variant(v.id))) { return Some(variant(v.id)); } @@ -397,7 +397,7 @@ pub fn missing_ctor(cx: &MatchCheckCtxt, ty::ty_bool => { let mut true_found = false; let mut false_found = false; - foreach r in m.iter() { + for r in m.iter() { match pat_ctor_id(cx, r[0]) { None => (), Some(val(const_bool(true))) => true_found = true, @@ -437,7 +437,7 @@ pub fn missing_ctor(cx: &MatchCheckCtxt, let mut found_slice = false; let mut next = 0; let mut missing = None; - foreach &(length, slice) in sorted_vec_lens.iter() { + for &(length, slice) in sorted_vec_lens.iter() { if length != next { missing = Some(next); break; @@ -783,7 +783,7 @@ pub fn check_fn(cx: &MatchCheckCtxt, (s, v): ((), oldvisit::vt<()>)) { oldvisit::visit_fn(kind, decl, body, sp, id, (s, v)); - foreach input in decl.inputs.iter() { + for input in decl.inputs.iter() { if is_refutable(cx, input.pat) { cx.tcx.sess.span_err(input.pat.span, "refutable pattern in function argument"); @@ -836,7 +836,7 @@ pub fn check_legality_of_move_bindings(cx: &MatchCheckCtxt, let def_map = tcx.def_map; let mut by_ref_span = None; let mut any_by_move = false; - foreach pat in pats.iter() { + for pat in pats.iter() { do pat_bindings(def_map, *pat) |bm, id, span, _path| { match bm { bind_by_ref(_) => { @@ -873,7 +873,7 @@ pub fn check_legality_of_move_bindings(cx: &MatchCheckCtxt, }; if !any_by_move { return; } // pointless micro-optimization - foreach pat in pats.iter() { + for pat in pats.iter() { do walk_pat(*pat) |p| { if pat_is_binding(def_map, p) { match p.node { diff --git a/src/librustc/middle/const_eval.rs b/src/librustc/middle/const_eval.rs index 3e8cce061f1..330e44893f0 100644 --- a/src/librustc/middle/const_eval.rs +++ b/src/librustc/middle/const_eval.rs @@ -176,7 +176,7 @@ pub fn lookup_variant_by_id(tcx: ty::ctxt, variant_def: ast::def_id) -> Option<@expr> { fn variant_expr(variants: &[ast::variant], id: ast::NodeId) -> Option<@expr> { - foreach variant in variants.iter() { + for variant in variants.iter() { if variant.node.id == id { return variant.node.disr_expr; } diff --git a/src/librustc/middle/dataflow.rs b/src/librustc/middle/dataflow.rs index 634fa73f6aa..d2808b01e5b 100644 --- a/src/librustc/middle/dataflow.rs +++ b/src/librustc/middle/dataflow.rs @@ -266,10 +266,10 @@ impl DataFlowContext { f: &fn(uint) -> bool) -> bool { //! Helper for iterating over the bits in a bit set. - foreach (word_index, &word) in words.iter().enumerate() { + for (word_index, &word) in words.iter().enumerate() { if word != 0 { let base_index = word_index * uint::bits; - foreach offset in range(0u, uint::bits) { + for offset in range(0u, uint::bits) { let bit = 1 << offset; if (word & bit) != 0 { // NB: we round up the total number of bits @@ -391,7 +391,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { self.merge_with_entry_set(blk.id, in_out); - foreach &stmt in blk.stmts.iter() { + for &stmt in blk.stmts.iter() { self.walk_stmt(stmt, in_out, loop_scopes); } @@ -512,7 +512,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { loop_kind: ForLoop, break_bits: reslice(in_out).to_owned() }); - foreach input in decl.inputs.iter() { + for input in decl.inputs.iter() { self.walk_pat(input.pat, func_bits, loop_scopes); } self.walk_block(body, func_bits, loop_scopes); @@ -631,7 +631,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { // together the bits from each arm: self.reset(in_out); - foreach arm in arms.iter() { + for arm in arms.iter() { // in_out reflects the discr and all guards to date self.walk_opt_expr(arm.guard, guards, loop_scopes); @@ -706,7 +706,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { } ast::expr_struct(_, ref fields, with_expr) => { - foreach field in fields.iter() { + for field in fields.iter() { self.walk_expr(field.expr, in_out, loop_scopes); } self.walk_opt_expr(with_expr, in_out, loop_scopes); @@ -767,10 +767,10 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { } ast::expr_inline_asm(ref inline_asm) => { - foreach &(_, expr) in inline_asm.inputs.iter() { + for &(_, expr) in inline_asm.inputs.iter() { self.walk_expr(expr, in_out, loop_scopes); } - foreach &(_, expr) in inline_asm.outputs.iter() { + for &(_, expr) in inline_asm.outputs.iter() { self.walk_expr(expr, in_out, loop_scopes); } } @@ -838,7 +838,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { exprs: &[@ast::expr], in_out: &mut [uint], loop_scopes: &mut ~[LoopScope]) { - foreach &expr in exprs.iter() { + for &expr in exprs.iter() { self.walk_expr(expr, in_out, loop_scopes); } } @@ -847,7 +847,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { opt_expr: Option<@ast::expr>, in_out: &mut [uint], loop_scopes: &mut ~[LoopScope]) { - foreach &expr in opt_expr.iter() { + for &expr in opt_expr.iter() { self.walk_expr(expr, in_out, loop_scopes); } } @@ -901,7 +901,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { // alternatives, so we must treat this like an N-way select // statement. let initial_state = reslice(in_out).to_owned(); - foreach &pat in pats.iter() { + for &pat in pats.iter() { let mut temp = initial_state.clone(); self.walk_pat(pat, temp, loop_scopes); join_bits(&self.dfcx.oper, temp, in_out); @@ -949,7 +949,7 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { fn reset(&mut self, bits: &mut [uint]) { let e = if self.dfcx.oper.initial_value() {uint::max_value} else {0}; - foreach b in bits.mut_iter() { *b = e; } + for b in bits.mut_iter() { *b = e; } } fn add_to_entry_set(&mut self, id: ast::NodeId, pred_bits: &[uint]) { @@ -997,9 +997,9 @@ fn bits_to_str(words: &[uint]) -> ~str { // Note: this is a little endian printout of bytes. - foreach &word in words.iter() { + for &word in words.iter() { let mut v = word; - foreach _ in range(0u, uint::bytes) { + for _ in range(0u, uint::bytes) { result.push_char(sep); result.push_str(fmt!("%02x", v & 0xFF)); v >>= 8; @@ -1026,7 +1026,7 @@ fn bitwise(out_vec: &mut [uint], op: &fn(uint, uint) -> uint) -> bool { assert_eq!(out_vec.len(), in_vec.len()); let mut changed = false; - foreach i in range(0u, out_vec.len()) { + for i in range(0u, out_vec.len()) { let old_val = out_vec[i]; let new_val = op(old_val, in_vec[i]); out_vec[i] = new_val; diff --git a/src/librustc/middle/entry.rs b/src/librustc/middle/entry.rs index 469c1c2f93e..1bf5c944fab 100644 --- a/src/librustc/middle/entry.rs +++ b/src/librustc/middle/entry.rs @@ -138,7 +138,7 @@ fn configure_main(ctxt: @mut EntryContext) { but you have one or more functions named 'main' that are not \ defined at the crate level. Either move the definition or \ attach the `#[main]` attribute to override this behavior."); - foreach &(_, span) in this.non_main_fns.iter() { + for &(_, span) in this.non_main_fns.iter() { this.session.span_note(span, "here is a function named 'main'"); } } diff --git a/src/librustc/middle/graph.rs b/src/librustc/middle/graph.rs index ae4bf596eb4..28d24b169ca 100644 --- a/src/librustc/middle/graph.rs +++ b/src/librustc/middle/graph.rs @@ -247,7 +247,7 @@ impl Graph { while changed { changed = false; iteration += 1; - foreach (i, edge) in self.edges.iter().enumerate() { + for (i, edge) in self.edges.iter().enumerate() { changed |= op(iteration, EdgeIndex(i), edge); } } diff --git a/src/librustc/middle/kind.rs b/src/librustc/middle/kind.rs index c604c3835bf..3bdf0c0f6dc 100644 --- a/src/librustc/middle/kind.rs +++ b/src/librustc/middle/kind.rs @@ -238,7 +238,7 @@ fn check_fn( // Check kinds on free variables: do with_appropriate_checker(cx, fn_id) |chk| { let r = freevars::get_freevars(cx.tcx, fn_id); - foreach fv in r.iter() { + for fv in r.iter() { chk(cx, *fv); } } @@ -256,7 +256,7 @@ pub fn check_expr(e: @expr, (cx, v): (Context, oldvisit::vt)) { }; { let r = cx.tcx.node_type_substs.find(&type_parameter_id); - foreach ts in r.iter() { + for ts in r.iter() { let type_param_defs = match e.node { expr_path(_) => { let did = ast_util::def_id_of_def(cx.tcx.def_map.get_copy(&e.id)); @@ -280,7 +280,7 @@ pub fn check_expr(e: @expr, (cx, v): (Context, oldvisit::vt)) { ts.repr(cx.tcx), type_param_defs.repr(cx.tcx)); } - foreach (&ty, type_param_def) in ts.iter().zip(type_param_defs.iter()) { + for (&ty, type_param_def) in ts.iter().zip(type_param_defs.iter()) { check_typaram_bounds(cx, type_parameter_id, e.span, ty, type_param_def) } } @@ -318,11 +318,11 @@ fn check_ty(aty: &Ty, (cx, v): (Context, oldvisit::vt)) { match aty.node { ty_path(_, _, id) => { let r = cx.tcx.node_type_substs.find(&id); - foreach ts in r.iter() { + for ts in r.iter() { let did = ast_util::def_id_of_def(cx.tcx.def_map.get_copy(&id)); let type_param_defs = ty::lookup_item_type(cx.tcx, did).generics.type_param_defs; - foreach (&ty, type_param_def) in ts.iter().zip(type_param_defs.iter()) { + for (&ty, type_param_def) in ts.iter().zip(type_param_defs.iter()) { check_typaram_bounds(cx, aty.id, aty.span, ty, type_param_def) } } diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs index e9c9bcf37de..0dfad430f4d 100644 --- a/src/librustc/middle/lang_items.rs +++ b/src/librustc/middle/lang_items.rs @@ -412,7 +412,7 @@ impl<'self> LanguageItemCollector<'self> { let this: *mut LanguageItemCollector = &mut *self; visit_crate(self.crate, ((), mk_simple_visitor(@SimpleVisitor { visit_item: |item| { - foreach attribute in item.attrs.iter() { + for attribute in item.attrs.iter() { unsafe { (*this).match_and_collect_meta_item( local_def(item.id), diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs index f867790ca13..bbcb40df775 100644 --- a/src/librustc/middle/lint.rs +++ b/src/librustc/middle/lint.rs @@ -286,7 +286,7 @@ static lint_table: &'static [(&'static str, LintSpec)] = &[ */ pub fn get_lint_dict() -> LintDict { let mut map = HashMap::new(); - foreach &(k, v) in lint_table.iter() { + for &(k, v) in lint_table.iter() { map.insert(k, v); } return map; @@ -354,7 +354,7 @@ impl Context { } fn lint_to_str(&self, lint: lint) -> &'static str { - foreach (k, v) in self.dict.iter() { + for (k, v) in self.dict.iter() { if v.lint == lint { return *k; } @@ -390,7 +390,7 @@ impl Context { allow => fail!(), } - foreach &span in note.iter() { + for &span in note.iter() { self.tcx.sess.span_note(span, "lint level defined here"); } } @@ -474,7 +474,7 @@ impl Context { // pair instead of just one visitor. match n { Item(it) => { - foreach visitor in self.visitors.iter() { + for visitor in self.visitors.iter() { match *visitor { OldVisitor(orig, stopping) => { (orig.visit_item)(it, (self, stopping)); @@ -486,7 +486,7 @@ impl Context { } } Crate(c) => { - foreach visitor in self.visitors.iter() { + for visitor in self.visitors.iter() { match *visitor { OldVisitor(_, stopping) => { oldvisit::visit_crate(c, (self, stopping)) @@ -501,7 +501,7 @@ impl Context { // item_stopping_visitor has overridden visit_fn(&fk_method(... )) // to be a no-op, so manually invoke visit_fn. Method(m) => { - foreach visitor in self.visitors.iter() { + for visitor in self.visitors.iter() { match *visitor { OldVisitor(orig, stopping) => { let fk = oldvisit::fk_method(m.ident, @@ -536,9 +536,9 @@ pub fn each_lint(sess: session::Session, attrs: &[ast::Attribute], f: &fn(@ast::MetaItem, level, @str) -> bool) -> bool { let xs = [allow, warn, deny, forbid]; - foreach &level in xs.iter() { + for &level in xs.iter() { let level_name = level_to_str(level); - foreach attr in attrs.iter().filter(|m| level_name == m.name()) { + for attr in attrs.iter().filter(|m| level_name == m.name()) { let meta = attr.node.value; let metas = match meta.node { ast::MetaList(_, ref metas) => metas, @@ -547,7 +547,7 @@ pub fn each_lint(sess: session::Session, loop; } }; - foreach meta in metas.iter() { + for meta in metas.iter() { match meta.node { ast::MetaWord(lintname) => { if !f(*meta, level, lintname) { @@ -751,7 +751,7 @@ fn check_item_ctypes(cx: &Context, it: &ast::item) { } fn check_foreign_fn(cx: &Context, decl: &ast::fn_decl) { - foreach input in decl.inputs.iter() { + for input in decl.inputs.iter() { check_ty(cx, &input.ty); } check_ty(cx, &decl.output) @@ -759,7 +759,7 @@ fn check_item_ctypes(cx: &Context, it: &ast::item) { match it.node { ast::item_foreign_mod(ref nmod) if !nmod.abis.is_intrinsic() => { - foreach ni in nmod.items.iter() { + for ni in nmod.items.iter() { match ni.node { ast::foreign_item_fn(ref decl, _) => { check_foreign_fn(cx, decl); @@ -801,7 +801,7 @@ fn check_type_for_lint(cx: &Context, lint: lint, span: span, ty: ty::t) { fn check_type(cx: &Context, span: span, ty: ty::t) { let xs = [managed_heap_memory, owned_heap_memory, heap_memory]; - foreach lint in xs.iter() { + for lint in xs.iter() { check_type_for_lint(cx, *lint, span, ty); } } @@ -820,7 +820,7 @@ fn check_item_heap(cx: &Context, it: &ast::item) { // If it's a struct, we also have to check the fields' types match it.node { ast::item_struct(struct_def, _) => { - foreach struct_field in struct_def.fields.iter() { + for struct_field in struct_def.fields.iter() { check_type(cx, struct_field.span, ty::node_id_to_type(cx.tcx, struct_field.node.id)); @@ -892,7 +892,7 @@ fn check_item_non_camel_case_types(cx: &Context, it: &ast::item) { } ast::item_enum(ref enum_definition, _) => { check_case(cx, "type", it.ident, it.span); - foreach variant in enum_definition.variants.iter() { + for variant in enum_definition.variants.iter() { check_case(cx, "variant", variant.node.name, variant.span); } } @@ -955,7 +955,7 @@ fn lint_unused_mut() -> oldvisit::vt<@mut Context> { } fn visit_fn_decl(cx: &Context, fd: &ast::fn_decl) { - foreach arg in fd.inputs.iter() { + for arg in fd.inputs.iter() { if arg.is_mutbl { check_pat(cx, arg.pat); } @@ -994,7 +994,7 @@ fn lint_session(cx: @mut Context) -> @visit::Visitor<()> { match cx.tcx.sess.lints.pop(&id) { None => {}, Some(l) => { - foreach (lint, span, msg) in l.consume_iter() { + for (lint, span, msg) in l.consume_iter() { cx.span_lint(lint, span, msg) } } @@ -1094,7 +1094,7 @@ fn lint_missing_doc() -> oldvisit::vt<@mut Context> { ast::item_struct(sdef, _) if it.vis == ast::public => { check_attrs(cx, it.attrs, it.span, "missing documentation for a struct"); - foreach field in sdef.fields.iter() { + for field in sdef.fields.iter() { match field.node.kind { ast::named_field(_, vis) if vis != ast::private => { check_attrs(cx, field.node.attrs, field.span, @@ -1137,12 +1137,12 @@ pub fn check_crate(tcx: ty::ctxt, crate: @ast::Crate) { }; // Install defaults. - foreach (_, spec) in cx.dict.iter() { + for (_, spec) in cx.dict.iter() { cx.set_level(spec.lint, spec.default, Default); } // Install command-line options, overriding defaults. - foreach &(lint, level) in tcx.sess.opts.lint_opts.iter() { + for &(lint, level) in tcx.sess.opts.lint_opts.iter() { cx.set_level(lint, level, CommandLine); } @@ -1211,8 +1211,8 @@ pub fn check_crate(tcx: ty::ctxt, crate: @ast::Crate) { // If we missed any lints added to the session, then there's a bug somewhere // in the iteration code. - foreach (id, v) in tcx.sess.lints.iter() { - foreach t in v.iter() { + for (id, v) in tcx.sess.lints.iter() { + for t in v.iter() { match *t { (lint, span, ref msg) => tcx.sess.span_bug(span, fmt!("unprocessed lint %? at %s: \ diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs index 7794a37d7e2..f4a3c2d1f39 100644 --- a/src/librustc/middle/liveness.rs +++ b/src/librustc/middle/liveness.rs @@ -360,7 +360,7 @@ fn visit_fn(fk: &oldvisit::fn_kind, debug!("creating fn_maps: %x", transmute(&*fn_maps)); } - foreach arg in decl.inputs.iter() { + for arg in decl.inputs.iter() { do pat_util::pat_bindings(this.tcx.def_map, arg.pat) |_bm, arg_id, _x, path| { debug!("adding argument %d", arg_id); @@ -436,7 +436,7 @@ fn visit_local(local: @Local, (this, vt): (@mut IrMaps, vt<@mut IrMaps>)) { fn visit_arm(arm: &arm, (this, vt): (@mut IrMaps, vt<@mut IrMaps>)) { let def_map = this.tcx.def_map; - foreach pat in arm.pats.iter() { + for pat in arm.pats.iter() { do pat_util::pat_bindings(def_map, *pat) |bm, p_id, sp, path| { debug!("adding local variable %d from match with bm %?", p_id, bm); @@ -475,7 +475,7 @@ fn visit_expr(expr: @expr, (this, vt): (@mut IrMaps, vt<@mut IrMaps>)) { // construction site. let cvs = this.capture_map.get(&expr.id); let mut call_caps = ~[]; - foreach cv in cvs.iter() { + for cv in cvs.iter() { match moves::moved_variable_node_id_from_def(cv.def) { Some(rv) => { let cv_ln = this.add_live_node(FreeVarNode(cv.span)); @@ -710,7 +710,7 @@ impl Liveness { pub fn indices(&self, ln: LiveNode, op: &fn(uint)) { let node_base_idx = self.idx(ln, Variable(0)); - foreach var_idx in range(0u, self.ir.num_vars) { + for var_idx in range(0u, self.ir.num_vars) { op(node_base_idx + var_idx) } } @@ -721,7 +721,7 @@ impl Liveness { op: &fn(uint, uint)) { let node_base_idx = self.idx(ln, Variable(0u)); let succ_base_idx = self.idx(succ_ln, Variable(0u)); - foreach var_idx in range(0u, self.ir.num_vars) { + for var_idx in range(0u, self.ir.num_vars) { op(node_base_idx + var_idx, succ_base_idx + var_idx); } } @@ -731,7 +731,7 @@ impl Liveness { ln: LiveNode, test: &fn(uint) -> LiveNode) { let node_base_idx = self.idx(ln, Variable(0)); - foreach var_idx in range(0u, self.ir.num_vars) { + for var_idx in range(0u, self.ir.num_vars) { let idx = node_base_idx + var_idx; if test(idx).is_valid() { wr.write_str(" "); @@ -900,7 +900,7 @@ impl Liveness { // hack to skip the loop unless debug! is enabled: debug!("^^ liveness computation results for body %d (entry=%s)", { - foreach ln_idx in range(0u, self.ir.num_live_nodes) { + for ln_idx in range(0u, self.ir.num_live_nodes) { debug!("%s", self.ln_str(LiveNode(ln_idx))); } body.id @@ -1084,7 +1084,7 @@ impl Liveness { let ln = self.live_node(expr.id, expr.span); self.init_empty(ln, succ); let mut first_merge = true; - foreach arm in arms.iter() { + for arm in arms.iter() { let body_succ = self.propagate_through_block(&arm.body, succ); let guard_succ = @@ -1461,12 +1461,12 @@ fn check_expr(expr: @expr, (this, vt): (@Liveness, vt<@Liveness>)) { } expr_inline_asm(ref ia) => { - foreach &(_, input) in ia.inputs.iter() { + for &(_, input) in ia.inputs.iter() { (vt.visit_expr)(input, (this, vt)); } // Output operands must be lvalues - foreach &(_, out) in ia.outputs.iter() { + for &(_, out) in ia.outputs.iter() { match out.node { expr_addr_of(_, inner) => { this.check_lvalue(inner, vt); @@ -1606,7 +1606,7 @@ impl Liveness { } pub fn warn_about_unused_args(&self, decl: &fn_decl, entry_ln: LiveNode) { - foreach arg in decl.inputs.iter() { + for arg in decl.inputs.iter() { do pat_util::pat_bindings(self.tcx.def_map, arg.pat) |_bm, p_id, sp, _n| { let var = self.variable(p_id, sp); @@ -1631,7 +1631,7 @@ impl Liveness { -> bool { if !self.used_on_entry(ln, var) { let r = self.should_warn(var); - foreach name in r.iter() { + for name in r.iter() { // annoying: for parameters in funcs like `fn(x: int) // {ret}`, there is only one node, so asking about @@ -1664,7 +1664,7 @@ impl Liveness { var: Variable) { if self.live_on_exit(ln, var).is_none() { let r = self.should_warn(var); - foreach name in r.iter() { + for name in r.iter() { self.tcx.sess.add_lint(dead_assignment, id, sp, fmt!("value assigned to `%s` is never read", *name)); } diff --git a/src/librustc/middle/mem_categorization.rs b/src/librustc/middle/mem_categorization.rs index 010ac66b30d..9e133972ada 100644 --- a/src/librustc/middle/mem_categorization.rs +++ b/src/librustc/middle/mem_categorization.rs @@ -375,7 +375,7 @@ impl mem_categorization_ctxt { pub fn cat_expr_autoderefd(&self, expr: @ast::expr, autoderefs: uint) -> cmt { let mut cmt = self.cat_expr_unadjusted(expr); - foreach deref in range(1u, autoderefs + 1) { + for deref in range(1u, autoderefs + 1) { cmt = self.cat_deref(expr, cmt, deref); } return cmt; @@ -906,7 +906,7 @@ impl mem_categorization_ctxt { } }; - foreach (i, &subpat) in subpats.iter().enumerate() { + for (i, &subpat) in subpats.iter().enumerate() { let subpat_ty = self.pat_ty(subpat); // see (*) let subcmt = @@ -919,7 +919,7 @@ impl mem_categorization_ctxt { } Some(&ast::def_fn(*)) | Some(&ast::def_struct(*)) => { - foreach (i, &subpat) in subpats.iter().enumerate() { + for (i, &subpat) in subpats.iter().enumerate() { let subpat_ty = self.pat_ty(subpat); // see (*) let cmt_field = self.cat_imm_interior( @@ -929,7 +929,7 @@ impl mem_categorization_ctxt { } } Some(&ast::def_static(*)) => { - foreach &subpat in subpats.iter() { + for &subpat in subpats.iter() { self.cat_pattern(cmt, subpat, |x,y| op(x,y)); } } @@ -951,7 +951,7 @@ impl mem_categorization_ctxt { ast::pat_struct(_, ref field_pats, _) => { // {f1: p1, ..., fN: pN} - foreach fp in field_pats.iter() { + for fp in field_pats.iter() { let field_ty = self.pat_ty(fp.pat); // see (*) let cmt_field = self.cat_field(pat, cmt, fp.ident, field_ty); self.cat_pattern(cmt_field, fp.pat, |x,y| op(x,y)); @@ -960,7 +960,7 @@ impl mem_categorization_ctxt { ast::pat_tup(ref subpats) => { // (p1, ..., pN) - foreach (i, &subpat) in subpats.iter().enumerate() { + for (i, &subpat) in subpats.iter().enumerate() { let subpat_ty = self.pat_ty(subpat); // see (*) let subcmt = self.cat_imm_interior( @@ -979,15 +979,15 @@ impl mem_categorization_ctxt { ast::pat_vec(ref before, slice, ref after) => { let elt_cmt = self.cat_index(pat, cmt, 0); - foreach &before_pat in before.iter() { + for &before_pat in before.iter() { self.cat_pattern(elt_cmt, before_pat, |x,y| op(x,y)); } - foreach &slice_pat in slice.iter() { + for &slice_pat in slice.iter() { let slice_ty = self.pat_ty(slice_pat); let slice_cmt = self.cat_rvalue_node(pat, slice_ty); self.cat_pattern(slice_cmt, slice_pat, |x,y| op(x,y)); } - foreach &after_pat in after.iter() { + for &after_pat in after.iter() { self.cat_pattern(elt_cmt, after_pat, |x,y| op(x,y)); } } @@ -1076,7 +1076,7 @@ pub fn field_mutbl(tcx: ty::ctxt, match ty::get(base_ty).sty { ty::ty_struct(did, _) => { let r = ty::lookup_struct_fields(tcx, did); - foreach fld in r.iter() { + for fld in r.iter() { if fld.ident == f_name { return Some(ast::m_imm); } @@ -1086,7 +1086,7 @@ pub fn field_mutbl(tcx: ty::ctxt, match tcx.def_map.get_copy(&node_id) { ast::def_variant(_, variant_id) => { let r = ty::lookup_struct_fields(tcx, variant_id); - foreach fld in r.iter() { + for fld in r.iter() { if fld.ident == f_name { return Some(ast::m_imm); } diff --git a/src/librustc/middle/moves.rs b/src/librustc/middle/moves.rs index 06588f22855..b151f313b96 100644 --- a/src/librustc/middle/moves.rs +++ b/src/librustc/middle/moves.rs @@ -231,7 +231,7 @@ fn compute_modes_for_local<'a>(local: @Local, (cx, v): (VisitContext, vt)) { cx.use_pat(local.pat); - foreach &init in local.init.iter() { + for &init in local.init.iter() { cx.use_expr(init, Read, v); } } @@ -243,7 +243,7 @@ fn compute_modes_for_fn(fk: &oldvisit::fn_kind, id: NodeId, (cx, v): (VisitContext, vt)) { - foreach a in decl.inputs.iter() { + for a in decl.inputs.iter() { cx.use_pat(a.pat); } oldvisit::visit_fn(fk, decl, body, span, id, (cx, v)); @@ -258,7 +258,7 @@ fn compute_modes_for_expr(expr: @expr, impl VisitContext { pub fn consume_exprs(&self, exprs: &[@expr], visitor: vt) { - foreach expr in exprs.iter() { + for expr in exprs.iter() { self.consume_expr(*expr, visitor); } } @@ -289,11 +289,11 @@ impl VisitContext { debug!("consume_block(blk.id=%?)", blk.id); - foreach stmt in blk.stmts.iter() { + for stmt in blk.stmts.iter() { (visitor.visit_stmt)(*stmt, (*self, visitor)); } - foreach tail_expr in blk.expr.iter() { + for tail_expr in blk.expr.iter() { self.consume_expr(*tail_expr, visitor); } } @@ -329,7 +329,7 @@ impl VisitContext { Move => { let def = self.tcx.def_map.get_copy(&expr.id); let r = moved_variable_node_id_from_def(def); - foreach &id in r.iter() { + for &id in r.iter() { self.move_maps.moved_variables_set.insert(id); } } @@ -393,11 +393,11 @@ impl VisitContext { } expr_struct(_, ref fields, opt_with) => { - foreach field in fields.iter() { + for field in fields.iter() { self.consume_expr(field.expr, visitor); } - foreach with_expr in opt_with.iter() { + for with_expr in opt_with.iter() { // If there are any fields whose type is move-by-default, // then `with` is consumed, otherwise it is only read let with_ty = ty::expr_ty(self.tcx, *with_expr); @@ -436,7 +436,7 @@ impl VisitContext { expr_if(cond_expr, ref then_blk, opt_else_expr) => { self.consume_expr(cond_expr, visitor); self.consume_block(then_blk, visitor); - foreach else_expr in opt_else_expr.iter() { + for else_expr in opt_else_expr.iter() { self.consume_expr(*else_expr, visitor); } } @@ -444,7 +444,7 @@ impl VisitContext { expr_match(discr, ref arms) => { // We must do this first so that `arms_have_by_move_bindings` // below knows which bindings are moves. - foreach arm in arms.iter() { + for arm in arms.iter() { self.consume_arm(arm, visitor); } @@ -511,7 +511,7 @@ impl VisitContext { } expr_ret(ref opt_expr) => { - foreach expr in opt_expr.iter() { + for expr in opt_expr.iter() { self.consume_expr(*expr, visitor); } } @@ -547,7 +547,7 @@ impl VisitContext { } expr_fn_block(ref decl, ref body) => { - foreach a in decl.inputs.iter() { + for a in decl.inputs.iter() { self.use_pat(a.pat); } let cap_vars = self.compute_captures(expr.id); @@ -581,7 +581,7 @@ impl VisitContext { // for overloaded operatrs, we are always passing in a // borrowed pointer, so it's always read mode: - foreach arg_expr in arg_exprs.iter() { + for arg_expr in arg_exprs.iter() { self.use_expr(*arg_expr, Read, visitor); } @@ -589,11 +589,11 @@ impl VisitContext { } pub fn consume_arm(&self, arm: &arm, visitor: vt) { - foreach pat in arm.pats.iter() { + for pat in arm.pats.iter() { self.use_pat(*pat); } - foreach guard in arm.guard.iter() { + for guard in arm.guard.iter() { self.consume_expr(*guard, visitor); } @@ -640,7 +640,7 @@ impl VisitContext { arg_exprs: &[@expr], visitor: vt) { //! Uses the argument expressions. - foreach arg_expr in arg_exprs.iter() { + for arg_expr in arg_exprs.iter() { self.use_fn_arg(*arg_expr, visitor); } } @@ -655,8 +655,8 @@ impl VisitContext { arms: &[arm]) -> Option<@pat> { let mut ret = None; - foreach arm in arms.iter() { - foreach &pat in arm.pats.iter() { + for arm in arms.iter() { + for &pat in arm.pats.iter() { let cont = do ast_util::walk_pat(pat) |p| { if moves_map.contains(&p.id) { ret = Some(p); diff --git a/src/librustc/middle/privacy.rs b/src/librustc/middle/privacy.rs index e858ec26304..76d1d0b05ff 100644 --- a/src/librustc/middle/privacy.rs +++ b/src/librustc/middle/privacy.rs @@ -50,7 +50,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, *count += 1; } item_impl(_, _, _, ref methods) => { - foreach method in methods.iter() { + for method in methods.iter() { privileged_items.push(method.id); *count += 1; } @@ -58,7 +58,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, *count += 1; } item_foreign_mod(ref foreign_mod) => { - foreach foreign_item in foreign_mod.items.iter() { + for foreign_item in foreign_mod.items.iter() { privileged_items.push(foreign_item.id); *count += 1; } @@ -70,7 +70,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, // Adds items that are privileged to this scope. let add_privileged_items: @fn(&[@ast::item]) -> uint = |items| { let mut count = 0; - foreach &item in items.iter() { + for &item in items.iter() { add_privileged_item(item, &mut count); } count @@ -206,7 +206,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, let check_field: @fn(span: span, id: ast::def_id, ident: ast::ident) = |span, id, ident| { let fields = ty::lookup_struct_fields(tcx, id); - foreach field in fields.iter() { + for field in fields.iter() { if field.ident != ident { loop; } if field.vis == private { tcx.sess.span_err(span, fmt!("field `%s` is private", @@ -357,7 +357,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, visit_block: |block, (method_map, visitor)| { // Gather up all the privileged items. let mut n_added = 0; - foreach stmt in block.stmts.iter() { + for stmt in block.stmts.iter() { match stmt.node { stmt_decl(decl, _) => { match decl.node { @@ -430,7 +430,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, ty_struct(id, _) => { if id.crate != LOCAL_CRATE || !privileged_items.iter().any(|x| x == &(id.node)) { - foreach field in (*fields).iter() { + for field in (*fields).iter() { debug!("(privacy checking) checking \ field in struct literal"); check_field(expr.span, id, field.ident); @@ -442,7 +442,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, !privileged_items.iter().any(|x| x == &(id.node)) { match tcx.def_map.get_copy(&expr.id) { def_variant(_, variant_id) => { - foreach field in (*fields).iter() { + for field in (*fields).iter() { debug!("(privacy checking) \ checking field in \ struct variant \ @@ -494,7 +494,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, ty_struct(id, _) => { if id.crate != LOCAL_CRATE || !privileged_items.iter().any(|x| x == &(id.node)) { - foreach field in fields.iter() { + for field in fields.iter() { debug!("(privacy checking) checking \ struct pattern"); check_field(pattern.span, id, field.ident); @@ -506,7 +506,7 @@ pub fn check_crate<'mm>(tcx: ty::ctxt, !privileged_items.iter().any(|x| x == &enum_id.node) { match tcx.def_map.find(&pattern.id) { Some(&def_variant(_, variant_id)) => { - foreach field in fields.iter() { + for field in fields.iter() { debug!("(privacy checking) \ checking field in \ struct variant pattern"); diff --git a/src/librustc/middle/reachable.rs b/src/librustc/middle/reachable.rs index 761a34b72e5..33a8960baee 100644 --- a/src/librustc/middle/reachable.rs +++ b/src/librustc/middle/reachable.rs @@ -134,7 +134,7 @@ impl ReachableContext { } item_enum(ref enum_def, _) => { if privacy_context == PublicContext { - foreach variant in enum_def.variants.iter() { + for variant in enum_def.variants.iter() { reachable_symbols.insert(variant.node.id); } } @@ -153,7 +153,7 @@ impl ReachableContext { }; // Mark all public methods as reachable. - foreach &method in methods.iter() { + for &method in methods.iter() { if should_be_considered_public(method) { reachable_symbols.insert(method.id); } @@ -162,7 +162,7 @@ impl ReachableContext { if generics_require_inlining(generics) { // If the impl itself has generics, add all public // symbols to the worklist. - foreach &method in methods.iter() { + for &method in methods.iter() { if should_be_considered_public(method) { worklist.push(method.id) } @@ -170,7 +170,7 @@ impl ReachableContext { } else { // Otherwise, add only public methods that have // generics to the worklist. - foreach method in methods.iter() { + for method in methods.iter() { let generics = &method.generics; let attrs = &method.attrs; if generics_require_inlining(generics) || @@ -184,7 +184,7 @@ impl ReachableContext { item_trait(_, _, ref trait_methods) => { // Mark all provided methods as reachable. if privacy_context == PublicContext { - foreach trait_method in trait_methods.iter() { + for trait_method in trait_methods.iter() { match *trait_method { provided(method) => { reachable_symbols.insert(method.id); @@ -390,7 +390,7 @@ impl ReachableContext { // this properly would result in the necessity of computing *type* // reachability, which might result in a compile time loss. fn mark_destructors_reachable(&self) { - foreach (_, destructor_def_id) in self.tcx.destructor_for_type.iter() { + for (_, destructor_def_id) in self.tcx.destructor_for_type.iter() { if destructor_def_id.crate == LOCAL_CRATE { self.reachable_symbols.insert(destructor_def_id.node); } diff --git a/src/librustc/middle/region.rs b/src/librustc/middle/region.rs index 3aa2f3278b9..2d121209118 100644 --- a/src/librustc/middle/region.rs +++ b/src/librustc/middle/region.rs @@ -198,7 +198,7 @@ impl RegionMaps { while i < queue.len() { match self.free_region_map.find(&queue[i]) { Some(parents) => { - foreach parent in parents.iter() { + for parent in parents.iter() { if *parent == sup { return true; } @@ -318,7 +318,7 @@ impl RegionMaps { fn parent_to_expr(cx: Context, child_id: ast::NodeId, sp: span) { debug!("region::parent_to_expr(span=%?)", cx.sess.codemap.span_to_str(sp)); - foreach parent_id in cx.parent.iter() { + for parent_id in cx.parent.iter() { cx.region_maps.record_parent(child_id, *parent_id); } } @@ -718,7 +718,7 @@ fn determine_rp_in_fn(fk: &oldvisit::fn_kind, oldvisit::vt<@mut DetermineRpCtxt>)) { do cx.with(cx.item_id, false) { do cx.with_ambient_variance(rv_contravariant) { - foreach a in decl.inputs.iter() { + for a in decl.inputs.iter() { (visitor.visit_ty)(&a.ty, (cx, visitor)); } } @@ -830,7 +830,7 @@ fn determine_rp_in_ty(ty: &ast::Ty, ast::ty_path(ref path, _, _) => { // type parameters are---for now, anyway---always invariant do cx.with_ambient_variance(rv_invariant) { - foreach tp in path.types.iter() { + for tp in path.types.iter() { (visitor.visit_ty)(tp, (cx, visitor)); } } @@ -843,7 +843,7 @@ fn determine_rp_in_ty(ty: &ast::Ty, do cx.with(cx.item_id, false) { // parameters are contravariant do cx.with_ambient_variance(rv_contravariant) { - foreach a in decl.inputs.iter() { + for a in decl.inputs.iter() { (visitor.visit_ty)(&a.ty, (cx, visitor)); } } @@ -923,7 +923,7 @@ pub fn determine_rp_in_crate(sess: Session, match cx.dep_map.find(&c_id) { None => {} Some(deps) => { - foreach dep in deps.iter() { + for dep in deps.iter() { let v = add_variance(dep.ambient_variance, c_variance); cx.add_rp(dep.id, v); } @@ -935,7 +935,7 @@ pub fn determine_rp_in_crate(sess: Session, debug!("%s", { debug!("Region variance results:"); let region_paramd_items = cx.region_paramd_items; - foreach (&key, &value) in region_paramd_items.iter() { + for (&key, &value) in region_paramd_items.iter() { debug!("item %? (%s) is parameterized with variance %?", key, ast_map::node_id_to_str(ast_map, key, diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index 5a70f251aca..60ecff39d85 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -1037,7 +1037,7 @@ impl Resolver { self.session.str_of(name))); { let r = child.span_for_namespace(ns); - foreach sp in r.iter() { + for sp in r.iter() { self.session.span_note(*sp, fmt!("first definition of %s `%s` here", namespace_error_to_str(duplicate_type), @@ -1057,7 +1057,7 @@ impl Resolver { } // Check each statement. - foreach statement in block.stmts.iter() { + for statement in block.stmts.iter() { match statement.node { stmt_decl(declaration, _) => { match declaration.node { @@ -1179,7 +1179,7 @@ impl Resolver { name_bindings.define_type (privacy, def_ty(local_def(item.id)), sp); - foreach variant in (*enum_definition).variants.iter() { + for variant in (*enum_definition).variants.iter() { self.build_reduced_graph_for_variant( variant, local_def(item.id), @@ -1264,7 +1264,7 @@ impl Resolver { }; // For each method... - foreach method in methods.iter() { + for method in methods.iter() { // Add the method to the module. let ident = method.ident; let (method_name_bindings, _) = @@ -1316,7 +1316,7 @@ impl Resolver { // Add the names of all the methods to the trait info. let mut method_names = HashMap::new(); - foreach method in methods.iter() { + for method in methods.iter() { let ty_m = trait_method_to_ty_method(method); let ident = ty_m.ident; @@ -1353,7 +1353,7 @@ impl Resolver { } let def_id = local_def(item.id); - foreach (name, _) in method_names.iter() { + for (name, _) in method_names.iter() { if !self.method_map.contains_key(name) { self.method_map.insert(*name, HashSet::new()); } @@ -1422,7 +1422,7 @@ impl Resolver { let privacy = visibility_to_privacy(view_item.vis); match view_item.node { view_item_use(ref view_paths) => { - foreach view_path in view_paths.iter() { + for view_path in view_paths.iter() { // Extract and intern the module part of the path. For // globs and lists, the path is found directly in the AST; // for simple paths we have to munge the path a little. @@ -1433,7 +1433,7 @@ impl Resolver { let path_len = full_path.idents.len(); assert!(path_len != 0); - foreach (i, ident) in full_path.idents.iter().enumerate() { + for (i, ident) in full_path.idents.iter().enumerate() { if i != path_len - 1 { module_path.push(*ident); } @@ -1442,7 +1442,7 @@ impl Resolver { view_path_glob(ref module_ident_path, _) | view_path_list(ref module_ident_path, _, _) => { - foreach ident in module_ident_path.idents.iter() { + for ident in module_ident_path.idents.iter() { module_path.push(*ident); } } @@ -1463,7 +1463,7 @@ impl Resolver { id); } view_path_list(_, ref source_idents, _) => { - foreach source_ident in source_idents.iter() { + for source_ident in source_idents.iter() { let name = source_ident.node.name; let subclass = @SingleImport(name, name); self.build_import_directive( @@ -1657,7 +1657,7 @@ impl Resolver { let method_def_ids = get_trait_method_def_ids(self.session.cstore, def_id); let mut interned_method_names = HashSet::new(); - foreach &method_def_id in method_def_ids.iter() { + for &method_def_id in method_def_ids.iter() { let (method_name, explicit_self) = get_method_name_and_explicit_self(self.session.cstore, method_def_id); @@ -1672,7 +1672,7 @@ impl Resolver { interned_method_names.insert(method_name); } } - foreach name in interned_method_names.iter() { + for name in interned_method_names.iter() { if !self.method_map.contains_key(name) { self.method_map.insert(*name, HashSet::new()); } @@ -1741,7 +1741,7 @@ impl Resolver { // need to. let mut current_module = root; - foreach ident_str in pieces.iter() { + for ident_str in pieces.iter() { let ident = self.session.ident_of(*ident_str); // Create or reuse a graph node for the child. let (child_name_bindings, new_parent) = @@ -1861,7 +1861,7 @@ impl Resolver { // Add each static method to the module. let new_parent = ModuleReducedGraphParent( type_module); - foreach static_method_info in static_methods.iter() { + for static_method_info in static_methods.iter() { let ident = static_method_info.ident; debug!("(building reduced graph for \ external crate) creating \ @@ -1993,7 +1993,7 @@ impl Resolver { self.module_to_str(module_)); self.resolve_imports_for_module(module_); - foreach (_, &child_node) in module_.children.iter() { + for (_, &child_node) in module_.children.iter() { match child_node.get_module_if_available() { None => { // Nothing to do. @@ -2004,7 +2004,7 @@ impl Resolver { } } - foreach (_, &child_module) in module_.anonymous_children.iter() { + for (_, &child_module) in module_.anonymous_children.iter() { self.resolve_imports_for_module_subtree(child_module); } } @@ -2048,7 +2048,7 @@ impl Resolver { pub fn idents_to_str(@mut self, idents: &[ident]) -> ~str { let mut first = true; let mut result = ~""; - foreach ident in idents.iter() { + for ident in idents.iter() { if first { first = false } else { @@ -2447,7 +2447,7 @@ impl Resolver { assert_eq!(containing_module.glob_count, 0); // Add all resolved imports from the containing module. - foreach (ident, target_import_resolution) in containing_module.import_resolutions.iter() { + for (ident, target_import_resolution) in containing_module.import_resolutions.iter() { debug!("(resolving glob import) writing module resolution \ %? into `%s`", @@ -2531,12 +2531,12 @@ impl Resolver { }; // Add all children from the containing module. - foreach (&ident, name_bindings) in containing_module.children.iter() { + for (&ident, name_bindings) in containing_module.children.iter() { merge_import_resolution(ident, *name_bindings); } // Add external module children from the containing module. - foreach (&ident, module) in containing_module.external_module_children.iter() { + for (&ident, module) in containing_module.external_module_children.iter() { let name_bindings = @mut Resolver::create_name_bindings_from_module(*module); merge_import_resolution(ident, name_bindings); @@ -3108,7 +3108,7 @@ impl Resolver { } // Descend into children and anonymous children. - foreach (_, &child_node) in module_.children.iter() { + for (_, &child_node) in module_.children.iter() { match child_node.get_module_if_available() { None => { // Continue. @@ -3119,7 +3119,7 @@ impl Resolver { } } - foreach (_, &module_) in module_.anonymous_children.iter() { + for (_, &module_) in module_.anonymous_children.iter() { self.report_unresolved_imports(module_); } } @@ -3167,7 +3167,7 @@ impl Resolver { self.record_exports_for_module(module_); - foreach (_, &child_name_bindings) in module_.children.iter() { + for (_, &child_name_bindings) in module_.children.iter() { match child_name_bindings.get_module_if_available() { None => { // Nothing to do. @@ -3178,7 +3178,7 @@ impl Resolver { } } - foreach (_, &child_module) in module_.anonymous_children.iter() { + for (_, &child_module) in module_.anonymous_children.iter() { self.record_exports_for_module_subtree(child_module); } } @@ -3228,14 +3228,14 @@ impl Resolver { pub fn add_exports_for_module(@mut self, exports2: &mut ~[Export2], module_: @mut Module) { - foreach (ident, importresolution) in module_.import_resolutions.iter() { + for (ident, importresolution) in module_.import_resolutions.iter() { if importresolution.privacy != Public { debug!("(computing exports) not reexporting private `%s`", self.session.str_of(*ident)); loop; } let xs = [TypeNS, ValueNS]; - foreach ns in xs.iter() { + for ns in xs.iter() { match importresolution.target_for_namespace(*ns) { Some(target) => { debug!("(computing exports) maybe reexport '%s'", @@ -3483,8 +3483,8 @@ impl Resolver { // enum item: resolve all the variants' discrs, // then resolve the ty params item_enum(ref enum_def, ref generics) => { - foreach variant in (*enum_def).variants.iter() { - foreach dis_expr in variant.node.disr_expr.iter() { + for variant in (*enum_def).variants.iter() { + for dis_expr in variant.node.disr_expr.iter() { // resolve the discriminator expr // as a constant self.with_constant_rib(|| { @@ -3541,11 +3541,11 @@ impl Resolver { visitor); // Resolve derived traits. - foreach trt in traits.iter() { + for trt in traits.iter() { self.resolve_trait_reference(item.id, trt, visitor, TraitDerivation); } - foreach method in (*methods).iter() { + for method in (*methods).iter() { // Create a new rib for the method-specific type // parameters. // @@ -3565,7 +3565,7 @@ impl Resolver { &ty_m.generics.ty_params, visitor); - foreach argument in ty_m.decl.inputs.iter() { + for argument in ty_m.decl.inputs.iter() { self.resolve_type(&argument.ty, visitor); } @@ -3602,7 +3602,7 @@ impl Resolver { item_foreign_mod(ref foreign_module) => { do self.with_scope(Some(item.ident)) { - foreach foreign_item in foreign_module.items.iter() { + for foreign_item in foreign_module.items.iter() { match foreign_item.node { foreign_item_fn(_, ref generics) => { self.with_type_parameter_rib( @@ -3658,7 +3658,7 @@ impl Resolver { let function_type_rib = @Rib(rib_kind); self.type_ribs.push(function_type_rib); - foreach (index, type_parameter) in generics.ty_params.iter().enumerate() { + for (index, type_parameter) in generics.ty_params.iter().enumerate() { let name = type_parameter.ident; debug!("with_type_parameter_rib: %d %d", node_id, type_parameter.id); @@ -3749,7 +3749,7 @@ impl Resolver { // Nothing to do. } Some(declaration) => { - foreach argument in declaration.inputs.iter() { + for argument in declaration.inputs.iter() { let binding_mode = ArgumentIrrefutableMode; let mutability = if argument.is_mutbl {Mutable} else {Immutable}; @@ -3781,8 +3781,8 @@ impl Resolver { pub fn resolve_type_parameters(@mut self, type_parameters: &OptVec, visitor: ResolveVisitor) { - foreach type_parameter in type_parameters.iter() { - foreach bound in type_parameter.bounds.iter() { + for type_parameter in type_parameters.iter() { + for bound in type_parameter.bounds.iter() { self.resolve_type_parameter_bound(type_parameter.id, bound, visitor); } } @@ -3831,7 +3831,7 @@ impl Resolver { fields: &[@struct_field], visitor: ResolveVisitor) { let mut ident_map = HashMap::new::(); - foreach &field in fields.iter() { + for &field in fields.iter() { match field.node.kind { named_field(ident, _) => { match ident_map.find(&ident) { @@ -3860,7 +3860,7 @@ impl Resolver { self.resolve_type_parameters(&generics.ty_params, visitor); // Resolve fields. - foreach field in fields.iter() { + for field in fields.iter() { self.resolve_type(&field.node.ty, visitor); } } @@ -3920,7 +3920,7 @@ impl Resolver { let mut new_trait_refs = ~[]; { let r = self.def_map.find(&trait_reference.ref_id); - foreach &def in r.iter() { + for &def in r.iter() { new_trait_refs.push(def_id_of_def(*def)); } } @@ -3936,7 +3936,7 @@ impl Resolver { // Resolve the self type. self.resolve_type(self_type, visitor); - foreach method in methods.iter() { + for method in methods.iter() { // We also need a new scope for the method-specific // type parameters. self.resolve_method(MethodRibKind( @@ -4016,10 +4016,10 @@ impl Resolver { pub fn check_consistent_bindings(@mut self, arm: &arm) { if arm.pats.len() == 0 { return; } let map_0 = self.binding_mode_map(arm.pats[0]); - foreach (i, p) in arm.pats.iter().enumerate() { + for (i, p) in arm.pats.iter().enumerate() { let map_i = self.binding_mode_map(*p); - foreach (&key, &binding_0) in map_0.iter() { + for (&key, &binding_0) in map_0.iter() { match map_i.find(&key) { None => { self.session.span_err( @@ -4040,7 +4040,7 @@ impl Resolver { } } - foreach (&key, &binding) in map_i.iter() { + for (&key, &binding) in map_i.iter() { if !map_0.contains_key(&key) { self.session.span_err( binding.span, @@ -4056,7 +4056,7 @@ impl Resolver { self.value_ribs.push(@Rib(NormalRibKind)); let bindings_list = @mut HashMap::new(); - foreach pattern in arm.pats.iter() { + for pattern in arm.pats.iter() { self.resolve_pattern(*pattern, RefutableMode, Immutable, Some(bindings_list), visitor); } @@ -4162,7 +4162,7 @@ impl Resolver { } do bounds.map |bound_vec| { - foreach bound in bound_vec.iter() { + for bound in bound_vec.iter() { self.resolve_type_parameter_bound(ty.id, bound, visitor); } }; @@ -4170,7 +4170,7 @@ impl Resolver { ty_closure(c) => { do c.bounds.map |bounds| { - foreach bound in bounds.iter() { + for bound in bounds.iter() { self.resolve_type_parameter_bound(ty.id, bound, visitor); } }; @@ -4317,7 +4317,7 @@ impl Resolver { } // Check the types in the path pattern. - foreach ty in path.types.iter() { + for ty in path.types.iter() { self.resolve_type(ty, visitor); } } @@ -4350,7 +4350,7 @@ impl Resolver { } // Check the types in the path pattern. - foreach ty in path.types.iter() { + for ty in path.types.iter() { self.resolve_type(ty, visitor); } } @@ -4379,7 +4379,7 @@ impl Resolver { } // Check the types in the path pattern. - foreach ty in path.types.iter() { + for ty in path.types.iter() { self.resolve_type(ty, visitor); } } @@ -4476,7 +4476,7 @@ impl Resolver { visitor: ResolveVisitor) -> Option { // First, resolve the types. - foreach ty in path.types.iter() { + for ty in path.types.iter() { self.resolve_type(ty, visitor); } @@ -4606,7 +4606,7 @@ impl Resolver { pub fn intern_module_part_of_path(@mut self, path: &Path) -> ~[ident] { let mut module_path_idents = ~[]; - foreach (index, ident) in path.idents.iter().enumerate() { + for (index, ident) in path.idents.iter().enumerate() { if index == path.idents.len() - 1 { break; } @@ -4837,14 +4837,14 @@ impl Resolver { let mut j = this.value_ribs.len(); while j != 0 { j -= 1; - foreach (&k, _) in this.value_ribs[j].bindings.iter() { + for (&k, _) in this.value_ribs[j].bindings.iter() { maybes.push(this.session.str_of(k)); values.push(uint::max_value); } } let mut smallest = 0; - foreach (i, &other) in maybes.iter().enumerate() { + for (i, &other) in maybes.iter().enumerate() { values[i] = name.lev_distance(other); if values[i] <= values[smallest] { @@ -4873,11 +4873,11 @@ impl Resolver { i -= 1; match this.type_ribs[i].kind { MethodRibKind(node_id, _) => - foreach item in this.crate.module.items.iter() { + for item in this.crate.module.items.iter() { if item.id == node_id { match item.node { item_struct(class_def, _) => { - foreach field in class_def.fields.iter() { + for field in class_def.fields.iter() { match field.node.kind { unnamed_field => {}, named_field(ident, _) => { @@ -5151,7 +5151,7 @@ impl Resolver { // Look for the current trait. match self.current_trait_refs { Some(ref trait_def_ids) => { - foreach trait_def_id in trait_def_ids.iter() { + for trait_def_id in trait_def_ids.iter() { if candidate_traits.contains(trait_def_id) { self.add_trait_info(&mut found_traits, *trait_def_id, @@ -5165,7 +5165,7 @@ impl Resolver { } // Look for trait children. - foreach (_, &child_name_bindings) in search_module.children.iter() { + for (_, &child_name_bindings) in search_module.children.iter() { match child_name_bindings.def_for_namespace(TypeNS) { Some(def) => { match def { @@ -5188,7 +5188,7 @@ impl Resolver { } // Look for imports. - foreach (_, &import_resolution) in search_module.import_resolutions.iter() { + for (_, &import_resolution) in search_module.import_resolutions.iter() { match import_resolution.target_for_namespace(TypeNS) { None => { // Continue. @@ -5305,7 +5305,7 @@ impl Resolver { match vi.node { view_item_extern_mod(*) => {} // ignore view_item_use(ref path) => { - foreach p in path.iter() { + for p in path.iter() { match p.node { view_path_simple(_, _, id) | view_path_glob(_, id) => { if !self.used_imports.contains(&id) { @@ -5316,7 +5316,7 @@ impl Resolver { } view_path_list(_, ref list, _) => { - foreach i in list.iter() { + for i in list.iter() { if !self.used_imports.contains(&i.node.id) { self.session.add_lint(unused_imports, i.node.id, i.span, @@ -5367,12 +5367,12 @@ impl Resolver { debug!("Dump of module `%s`:", self.module_to_str(module_)); debug!("Children:"); - foreach (&name, _) in module_.children.iter() { + for (&name, _) in module_.children.iter() { debug!("* %s", self.session.str_of(name)); } debug!("Import resolutions:"); - foreach (name, import_resolution) in module_.import_resolutions.iter() { + for (name, import_resolution) in module_.import_resolutions.iter() { let value_repr; match import_resolution.target_for_namespace(ValueNS) { None => { value_repr = ~""; } diff --git a/src/librustc/middle/trans/_match.rs b/src/librustc/middle/trans/_match.rs index 9922106a663..725beee6604 100644 --- a/src/librustc/middle/trans/_match.rs +++ b/src/librustc/middle/trans/_match.rs @@ -298,7 +298,7 @@ pub fn variant_opt(bcx: @mut Block, pat_id: ast::NodeId) match ccx.tcx.def_map.get_copy(&pat_id) { ast::def_variant(enum_id, var_id) => { let variants = ty::enum_variants(ccx.tcx, enum_id); - foreach v in (*variants).iter() { + for v in (*variants).iter() { if var_id == v.id { return var(v.disr_val, adt::represent_node(bcx, pat_id)) @@ -367,7 +367,7 @@ pub fn matches_to_str(bcx: @mut Block, m: &[Match]) -> ~str { } pub fn has_nested_bindings(m: &[Match], col: uint) -> bool { - foreach br in m.iter() { + for br in m.iter() { match br.pats[col].node { ast::pat_ident(_, _, Some(_)) => return true, _ => () @@ -437,7 +437,7 @@ pub fn enter_match<'r>(bcx: @mut Block, let _indenter = indenter(); let mut result = ~[]; - foreach br in m.iter() { + for br in m.iter() { match e(br.pats[col]) { Some(sub) => { let pats = @@ -589,7 +589,7 @@ pub fn enter_opt<'r>(bcx: @mut Block, // unspecified fields with dummy. let mut reordered_patterns = ~[]; let r = ty::lookup_struct_fields(tcx, struct_id); - foreach field in r.iter() { + for field in r.iter() { match field_pats.iter().find_(|p| p.ident == field.ident) { None => reordered_patterns.push(dummy), Some(fp) => reordered_patterns.push(fp.pat) @@ -649,7 +649,7 @@ pub fn enter_rec_or_struct<'r>(bcx: @mut Block, match p.node { ast::pat_struct(_, ref fpats, _) => { let mut pats = ~[]; - foreach fname in fields.iter() { + for fname in fields.iter() { match fpats.iter().find_(|p| p.ident == *fname) { None => pats.push(dummy), Some(pat) => pats.push(pat.pat) @@ -809,7 +809,7 @@ pub fn get_options(bcx: @mut Block, m: &[Match], col: uint) -> ~[Opt] { } let mut found = ~[]; - foreach br in m.iter() { + for br in m.iter() { let cur = br.pats[col]; match cur.node { ast::pat_lit(l) => { @@ -955,7 +955,7 @@ pub fn collect_record_or_struct_fields(bcx: @mut Block, col: uint) -> ~[ast::ident] { let mut fields: ~[ast::ident] = ~[]; - foreach br in m.iter() { + for br in m.iter() { match br.pats[col].node { ast::pat_struct(_, ref fs, _) => { match ty::get(node_id_type(bcx, br.pats[col].id)).sty { @@ -969,7 +969,7 @@ pub fn collect_record_or_struct_fields(bcx: @mut Block, return fields; fn extend(idents: &mut ~[ast::ident], field_pats: &[ast::field_pat]) { - foreach field_pat in field_pats.iter() { + for field_pat in field_pats.iter() { let field_ident = field_pat.ident; if !idents.iter().any(|x| *x == field_ident) { idents.push(field_ident); @@ -994,7 +994,7 @@ pub fn root_pats_as_necessary(mut bcx: @mut Block, col: uint, val: ValueRef) -> @mut Block { - foreach br in m.iter() { + for br in m.iter() { let pat_id = br.pats[col].id; if pat_id != 0 { let datum = Datum {val: val, ty: node_id_type(bcx, pat_id), @@ -1063,14 +1063,14 @@ pub fn pick_col(m: &[Match]) -> uint { } } let mut scores = vec::from_elem(m[0].pats.len(), 0u); - foreach br in m.iter() { + for br in m.iter() { let mut i = 0u; - foreach p in br.pats.iter() { scores[i] += score(*p); i += 1u; } + for p in br.pats.iter() { scores[i] += score(*p); i += 1u; } } let mut max_score = 0u; let mut best_col = 0u; let mut i = 0u; - foreach score in scores.iter() { + for score in scores.iter() { let score = *score; // Irrefutable columns always go first, they'd only be duplicated in @@ -1148,7 +1148,7 @@ fn store_non_ref_bindings(bcx: @mut Block, */ let mut bcx = bcx; - foreach (_, &binding_info) in bindings_map.iter() { + for (_, &binding_info) in bindings_map.iter() { match binding_info.trmode { TrByValue(lldest) => { let llval = Load(bcx, binding_info.llmatch); // get a T* @@ -1182,7 +1182,7 @@ fn insert_lllocals(bcx: @mut Block, BindArgument => bcx.fcx.llargs }; - foreach (_, &binding_info) in bindings_map.iter() { + for (_, &binding_info) in bindings_map.iter() { let llval = match binding_info.trmode { // By value bindings: use the stack slot that we // copied/moved the value into @@ -1236,7 +1236,7 @@ pub fn compile_guard(bcx: @mut Block, let val = bool_to_i1(bcx, val); // Revoke the temp cleanups now that the guard successfully executed. - foreach llval in temp_cleanups.iter() { + for llval in temp_cleanups.iter() { revoke_clean(bcx, *llval); } @@ -1250,7 +1250,7 @@ pub fn compile_guard(bcx: @mut Block, fn drop_bindings(bcx: @mut Block, data: &ArmData) -> @mut Block { let mut bcx = bcx; - foreach (_, &binding_info) in data.bindings_map.iter() { + for (_, &binding_info) in data.bindings_map.iter() { match binding_info.trmode { TrByValue(llval) => { bcx = glue::drop_ty(bcx, llval, binding_info.ty); @@ -1325,7 +1325,7 @@ fn compile_submatch_continue(mut bcx: @mut Block, let ccx = bcx.fcx.ccx; let mut pat_id = 0; let mut pat_span = dummy_sp(); - foreach br in m.iter() { + for br in m.iter() { // Find a real id (we're adding placeholder wildcard patterns, but // each column is guaranteed to have at least one real pattern) if pat_id == 0 { @@ -1434,7 +1434,7 @@ fn compile_submatch_continue(mut bcx: @mut Block, var(_, repr) => { let (the_kind, val_opt) = adt::trans_switch(bcx, repr, val); kind = the_kind; - foreach &tval in val_opt.iter() { test_val = tval; } + for &tval in val_opt.iter() { test_val = tval; } } lit(_) => { let pty = node_id_type(bcx, pat_id); @@ -1457,7 +1457,7 @@ fn compile_submatch_continue(mut bcx: @mut Block, } } } - foreach o in opts.iter() { + for o in opts.iter() { match *o { range(_, _) => { kind = compare; break } _ => () @@ -1479,7 +1479,7 @@ fn compile_submatch_continue(mut bcx: @mut Block, let mut i = 0u; // Compile subtrees for each option - foreach opt in opts.iter() { + for opt in opts.iter() { i += 1u; let mut opt_cx = else_cx; if !exhaustive || i < len { @@ -1688,7 +1688,7 @@ pub fn trans_match_inner(scope_cx: @mut Block, let mut arm_datas = ~[]; let mut matches = ~[]; - foreach arm in arms.iter() { + for arm in arms.iter() { let body = scope_block(bcx, arm.body.info(), "case_body"); let bindings_map = create_bindings_map(bcx, arm.pats[0]); let arm_data = ArmData { @@ -1697,7 +1697,7 @@ pub fn trans_match_inner(scope_cx: @mut Block, bindings_map: @bindings_map }; arm_datas.push(arm_data.clone()); - foreach p in arm.pats.iter() { + for p in arm.pats.iter() { matches.push(Match { pats: ~[*p], data: arm_data.clone(), @@ -1721,7 +1721,7 @@ pub fn trans_match_inner(scope_cx: @mut Block, compile_submatch(bcx, matches, [lldiscr], chk); let mut arm_cxs = ~[]; - foreach arm_data in arm_datas.iter() { + for arm_data in arm_datas.iter() { let mut bcx = arm_data.bodycx; // If this arm has a guard, then the various by-value bindings have @@ -1957,7 +1957,7 @@ fn bind_irrefutable_pat(bcx: @mut Block, }); } - foreach &inner_pat in inner.iter() { + for &inner_pat in inner.iter() { bcx = bind_irrefutable_pat(bcx, inner_pat, val, binding_mode); } } @@ -1972,8 +1972,8 @@ fn bind_irrefutable_pat(bcx: @mut Block, repr, vinfo.disr_val, val); - foreach sub_pat in sub_pats.iter() { - foreach (i, argval) in args.vals.iter().enumerate() { + for sub_pat in sub_pats.iter() { + for (i, argval) in args.vals.iter().enumerate() { bcx = bind_irrefutable_pat(bcx, sub_pat[i], *argval, binding_mode); } @@ -1988,7 +1988,7 @@ fn bind_irrefutable_pat(bcx: @mut Block, Some(ref elems) => { // This is the tuple struct case. let repr = adt::represent_node(bcx, pat.id); - foreach (i, elem) in elems.iter().enumerate() { + for (i, elem) in elems.iter().enumerate() { let fldptr = adt::trans_field_ptr(bcx, repr, val, 0, i); bcx = bind_irrefutable_pat(bcx, *elem, @@ -2009,7 +2009,7 @@ fn bind_irrefutable_pat(bcx: @mut Block, let pat_ty = node_id_type(bcx, pat.id); let pat_repr = adt::represent_type(bcx.ccx(), pat_ty); do expr::with_field_tys(tcx, pat_ty, None) |discr, field_tys| { - foreach f in fields.iter() { + for f in fields.iter() { let ix = ty::field_idx_strict(tcx, f.ident, field_tys); let fldptr = adt::trans_field_ptr(bcx, pat_repr, val, discr, ix); @@ -2019,7 +2019,7 @@ fn bind_irrefutable_pat(bcx: @mut Block, } ast::pat_tup(ref elems) => { let repr = adt::represent_node(bcx, pat.id); - foreach (i, elem) in elems.iter().enumerate() { + for (i, elem) in elems.iter().enumerate() { let fldptr = adt::trans_field_ptr(bcx, repr, val, 0, i); bcx = bind_irrefutable_pat(bcx, *elem, fldptr, binding_mode); } diff --git a/src/librustc/middle/trans/adt.rs b/src/librustc/middle/trans/adt.rs index 6c37fd18f69..fad5b9ec73b 100644 --- a/src/librustc/middle/trans/adt.rs +++ b/src/librustc/middle/trans/adt.rs @@ -249,7 +249,7 @@ fn generic_fields_of(cx: &mut CrateContext, r: &Repr, sizing: bool) -> ~[Type] { let mut most_aligned = None; let mut largest_align = 0; let mut largest_size = 0; - foreach st in sts.iter() { + for st in sts.iter() { if largest_size < st.size { largest_size = st.size; } @@ -545,7 +545,7 @@ fn build_const_struct(ccx: &mut CrateContext, st: &Struct, vals: &[ValueRef]) let mut offset = 0; let mut cfields = ~[]; - foreach (i, &ty) in st.fields.iter().enumerate() { + for (i, &ty) in st.fields.iter().enumerate() { let llty = type_of::sizing_type_of(ccx, ty); let type_align = machine::llalign_of_min(ccx, llty) /*bad*/as u64; diff --git a/src/librustc/middle/trans/asm.rs b/src/librustc/middle/trans/asm.rs index 2c7e3ae0043..0b64defd78a 100644 --- a/src/librustc/middle/trans/asm.rs +++ b/src/librustc/middle/trans/asm.rs @@ -62,7 +62,7 @@ pub fn trans_inline_asm(bcx: @mut Block, ia: &ast::inline_asm) -> @mut Block { }; - foreach c in cleanups.iter() { + for c in cleanups.iter() { revoke_clean(bcx, *c); } cleanups.clear(); @@ -83,7 +83,7 @@ pub fn trans_inline_asm(bcx: @mut Block, ia: &ast::inline_asm) -> @mut Block { }; - foreach c in cleanups.iter() { + for c in cleanups.iter() { revoke_clean(bcx, *c); } @@ -133,7 +133,7 @@ pub fn trans_inline_asm(bcx: @mut Block, ia: &ast::inline_asm) -> @mut Block { let op = PointerCast(bcx, aoutputs[0], val_ty(outputs[0]).ptr_to()); Store(bcx, r, op); } else { - foreach (i, o) in aoutputs.iter().enumerate() { + for (i, o) in aoutputs.iter().enumerate() { let v = ExtractValue(bcx, r, i); let op = PointerCast(bcx, *o, val_ty(outputs[i]).ptr_to()); Store(bcx, v, op); diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs index e0a7cd8cc0b..5070d678c9f 100644 --- a/src/librustc/middle/trans/base.rs +++ b/src/librustc/middle/trans/base.rs @@ -675,7 +675,7 @@ pub fn iter_structural_ty(cx: @mut Block, av: ValueRef, t: ty::t, let tcx = cx.tcx(); let mut cx = cx; - foreach (i, &arg) in variant.args.iter().enumerate() { + for (i, &arg) in variant.args.iter().enumerate() { cx = f(cx, adt::trans_field_ptr(cx, repr, av, variant.disr_val, i), ty::subst_tps(tcx, tps, None, arg)); @@ -688,7 +688,7 @@ pub fn iter_structural_ty(cx: @mut Block, av: ValueRef, t: ty::t, ty::ty_struct(*) => { let repr = adt::represent_type(cx.ccx(), t); do expr::with_field_tys(cx.tcx(), t, None) |discr, field_tys| { - foreach (i, field_ty) in field_tys.iter().enumerate() { + for (i, field_ty) in field_tys.iter().enumerate() { let llfld_a = adt::trans_field_ptr(cx, repr, av, discr, i); cx = f(cx, llfld_a, field_ty.mt.ty); } @@ -701,7 +701,7 @@ pub fn iter_structural_ty(cx: @mut Block, av: ValueRef, t: ty::t, } ty::ty_tup(ref args) => { let repr = adt::represent_type(cx.ccx(), t); - foreach (i, arg) in args.iter().enumerate() { + for (i, arg) in args.iter().enumerate() { let llfld_a = adt::trans_field_ptr(cx, repr, av, 0, i); cx = f(cx, llfld_a, *arg); } @@ -729,7 +729,7 @@ pub fn iter_structural_ty(cx: @mut Block, av: ValueRef, t: ty::t, n_variants); let next_cx = sub_block(cx, "enum-iter-next"); - foreach variant in (*variants).iter() { + for variant in (*variants).iter() { let variant_cx = sub_block(cx, ~"enum-iter-variant-" + uint::to_str(variant.disr_val)); @@ -863,7 +863,7 @@ pub fn invoke(bcx: @mut Block, llfn: ValueRef, llargs: ~[ValueRef]) debug!("invoking %x at %x", ::std::cast::transmute(llfn), ::std::cast::transmute(bcx.llbb)); - foreach &llarg in llargs.iter() { + for &llarg in llargs.iter() { debug!("arg: %x", ::std::cast::transmute(llarg)); } } @@ -879,7 +879,7 @@ pub fn invoke(bcx: @mut Block, llfn: ValueRef, llargs: ~[ValueRef]) debug!("calling %x at %x", ::std::cast::transmute(llfn), ::std::cast::transmute(bcx.llbb)); - foreach &llarg in llargs.iter() { + for &llarg in llargs.iter() { debug!("arg: %x", ::std::cast::transmute(llarg)); } } @@ -908,7 +908,7 @@ pub fn need_invoke(bcx: @mut Block) -> bool { loop { cur_scope = match cur_scope { Some(inf) => { - foreach cleanup in inf.cleanups.iter() { + for cleanup in inf.cleanups.iter() { match *cleanup { clean(_, cleanup_type) | clean_temp(_, _, cleanup_type) => { if cleanup_type == normal_exit_and_unwind { @@ -1171,7 +1171,7 @@ pub fn new_block(cx: @mut FunctionContext, opt_node_info, cx); bcx.scope = scope; - foreach cx in parent.iter() { + for cx in parent.iter() { if cx.unreachable { Unreachable(bcx); break; @@ -1261,7 +1261,7 @@ pub fn trans_block_cleanups_(bcx: @mut Block, bcx.ccx().sess.opts.debugging_opts & session::no_landing_pads != 0; if bcx.unreachable && !no_lpads { return bcx; } let mut bcx = bcx; - foreach cu in cleanups.rev_iter() { + for cu in cleanups.rev_iter() { match *cu { clean(cfn, cleanup_type) | clean_temp(_, cfn, cleanup_type) => { // Some types don't need to be cleaned up during @@ -1304,7 +1304,7 @@ pub fn cleanup_and_leave(bcx: @mut Block, let mut dest = None; { let r = (*inf).cleanup_paths.rev_iter().find_(|cp| cp.target == leave); - foreach cp in r.iter() { + for cp in r.iter() { if cp.size == inf.cleanups.len() { Br(bcx, cp.dest); return; @@ -1326,7 +1326,7 @@ pub fn cleanup_and_leave(bcx: @mut Block, bcx = trans_block_cleanups_(sub_cx, inf_cleanups, is_lpad); - foreach &dest in dest.iter() { + for &dest in dest.iter() { Br(bcx, dest); return; } @@ -1449,7 +1449,7 @@ pub fn with_scope_datumblock(bcx: @mut Block, opt_node_info: Option, } pub fn block_locals(b: &ast::Block, it: &fn(@ast::Local)) { - foreach s in b.stmts.iter() { + for s in b.stmts.iter() { match s.node { ast::stmt_decl(d, _) => { match d.node { @@ -1624,7 +1624,7 @@ pub fn new_fn_ctxt_w_id(ccx: @mut CrateContext, opt_node_info: Option, sp: Option) -> @mut FunctionContext { - foreach p in param_substs.iter() { p.validate(); } + for p in param_substs.iter() { p.validate(); } debug!("new_fn_ctxt_w_id(path=%s, id=%?, \ param_substs=%s)", @@ -1769,7 +1769,7 @@ pub fn copy_args_to_allocas(fcx: @mut FunctionContext, _ => {} } - foreach arg_n in range(0u, arg_tys.len()) { + for arg_n in range(0u, arg_tys.len()) { let arg_ty = arg_tys[arg_n]; let raw_llarg = raw_llargs[arg_n]; @@ -1901,7 +1901,7 @@ pub fn trans_closure(ccx: @mut CrateContext, // Put return block after all other blocks. // This somewhat improves single-stepping experience in debugger. unsafe { - foreach &llreturn in fcx.llreturn.iter() { + for &llreturn in fcx.llreturn.iter() { llvm::LLVMMoveBasicBlockAfter(llreturn, bcx.llbb); } } @@ -1965,7 +1965,7 @@ fn insert_synthetic_type_entries(bcx: @mut Block, */ let tcx = bcx.tcx(); - foreach i in range(0u, fn_args.len()) { + for i in range(0u, fn_args.len()) { debug!("setting type of argument %u (pat node %d) to %s", i, fn_args[i].pat.id, bcx.ty_to_str(arg_tys[i])); @@ -2090,7 +2090,7 @@ pub fn trans_enum_variant_or_tuple_like_struct( let repr = adt::represent_type(ccx, result_ty); adt::trans_start_init(bcx, repr, fcx.llretptr.get(), disr); - foreach (i, fn_arg) in fn_args.iter().enumerate() { + for (i, fn_arg) in fn_args.iter().enumerate() { let lldestptr = adt::trans_field_ptr(bcx, repr, fcx.llretptr.get(), @@ -2106,7 +2106,7 @@ pub fn trans_enum_variant_or_tuple_like_struct( pub fn trans_enum_def(ccx: @mut CrateContext, enum_definition: &ast::enum_def, id: ast::NodeId, vi: @~[@ty::VariantInfo], i: &mut uint) { - foreach variant in enum_definition.variants.iter() { + for variant in enum_definition.variants.iter() { let disr_val = vi[*i].disr_val; *i += 1; @@ -2156,7 +2156,7 @@ pub fn trans_item(ccx: @mut CrateContext, item: &ast::item) { item.id, item.attrs); } else { - foreach stmt in body.stmts.iter() { + for stmt in body.stmts.iter() { match stmt.node { ast::stmt_decl(@codemap::spanned { node: ast::decl_item(i), _ }, _) => { @@ -2189,7 +2189,7 @@ pub fn trans_item(ccx: @mut CrateContext, item: &ast::item) { consts::trans_const(ccx, m, item.id); // Do static_assert checking. It can't really be done much earlier because we need to get // the value of the bool out of LLVM - foreach attr in item.attrs.iter() { + for attr in item.attrs.iter() { if "static_assert" == attr.name() { if m == ast::m_mutbl { ccx.sess.span_fatal(expr.span, @@ -2237,7 +2237,7 @@ pub fn trans_struct_def(ccx: @mut CrateContext, struct_def: @ast::struct_def) { // and control visibility. pub fn trans_mod(ccx: @mut CrateContext, m: &ast::_mod) { let _icx = push_ctxt("trans_mod"); - foreach item in m.items.iter() { + for item in m.items.iter() { trans_item(ccx, *item); } } @@ -2625,7 +2625,7 @@ pub fn trans_constant(ccx: &mut CrateContext, it: @ast::item) { node: it.id }); let mut i = 0; let path = item_path(ccx, &it.id); - foreach variant in (*enum_definition).variants.iter() { + for variant in (*enum_definition).variants.iter() { let p = vec::append(path.clone(), [ path_name(variant.node.name), path_name(special_idents::descrim) @@ -2801,11 +2801,11 @@ pub fn create_module_map(ccx: &mut CrateContext) -> ValueRef { // like the multiple borrows. At least, it doesn't // like them on the current snapshot. (2013-06-14) let mut keys = ~[]; - foreach (k, _) in ccx.module_data.iter() { + for (k, _) in ccx.module_data.iter() { keys.push(k.to_managed()); } - foreach key in keys.iter() { + for key in keys.iter() { let val = *ccx.module_data.find_equiv(key).get(); let s_const = C_cstr(ccx, *key); let s_ptr = p2i(ccx, s_const); @@ -3032,7 +3032,7 @@ pub fn trans_crate(sess: session::Session, do sort::quick_sort(ccx.stats.fn_stats) |&(_, _, insns_a), &(_, _, insns_b)| { insns_a > insns_b } - foreach tuple in ccx.stats.fn_stats.iter() { + for tuple in ccx.stats.fn_stats.iter() { match *tuple { (ref name, ms, insns) => { printfln!("%u insns, %u ms, %s", insns, ms, *name); @@ -3041,7 +3041,7 @@ pub fn trans_crate(sess: session::Session, } } if ccx.sess.count_llvm_insns() { - foreach (k, v) in ccx.stats.llvm_insns.iter() { + for (k, v) in ccx.stats.llvm_insns.iter() { printfln!("%-7u %s", *v, *k); } } diff --git a/src/librustc/middle/trans/builder.rs b/src/librustc/middle/trans/builder.rs index 9d44dacfd68..d876b4d0b16 100644 --- a/src/librustc/middle/trans/builder.rs +++ b/src/librustc/middle/trans/builder.rs @@ -516,7 +516,7 @@ impl Builder { // we care about. if ixs.len() < 16 { let mut small_vec = [ C_i32(0), ..16 ]; - foreach (small_vec_e, &ix) in small_vec.mut_iter().zip(ixs.iter()) { + for (small_vec_e, &ix) in small_vec.mut_iter().zip(ixs.iter()) { *small_vec_e = C_i32(ix as i32); } self.inbounds_gep(base, small_vec.slice(0, ixs.len())) diff --git a/src/librustc/middle/trans/cabi.rs b/src/librustc/middle/trans/cabi.rs index 2fcdf885aad..3a6577e28b7 100644 --- a/src/librustc/middle/trans/cabi.rs +++ b/src/librustc/middle/trans/cabi.rs @@ -42,7 +42,7 @@ impl FnType { let fnty = Type::func(atys, &rty); let llfn = decl(fnty); - foreach (i, a) in self.attrs.iter().enumerate() { + for (i, a) in self.attrs.iter().enumerate() { match *a { option::Some(attr) => { unsafe { @@ -92,7 +92,7 @@ impl FnType { pub fn build_shim_ret(&self, bcx: @mut Block, arg_tys: &[Type], ret_def: bool, llargbundle: ValueRef, llretval: ValueRef) { - foreach (i, a) in self.attrs.iter().enumerate() { + for (i, a) in self.attrs.iter().enumerate() { match *a { option::Some(attr) => { unsafe { diff --git a/src/librustc/middle/trans/cabi_arm.rs b/src/librustc/middle/trans/cabi_arm.rs index d8c68c70604..7f1fc5978c4 100644 --- a/src/librustc/middle/trans/cabi_arm.rs +++ b/src/librustc/middle/trans/cabi_arm.rs @@ -133,7 +133,7 @@ impl ABIInfo for ARM_ABIInfo { ret_def: bool) -> FnType { let mut arg_tys = ~[]; let mut attrs = ~[]; - foreach &aty in atys.iter() { + for &aty in atys.iter() { let (ty, attr) = classify_arg_ty(aty); arg_tys.push(ty); attrs.push(attr); diff --git a/src/librustc/middle/trans/cabi_mips.rs b/src/librustc/middle/trans/cabi_mips.rs index b863447a0b4..fe1c288d177 100644 --- a/src/librustc/middle/trans/cabi_mips.rs +++ b/src/librustc/middle/trans/cabi_mips.rs @@ -190,7 +190,7 @@ impl ABIInfo for MIPS_ABIInfo { let mut attrs = ~[]; let mut offset = if sret { 4 } else { 0 }; - foreach aty in atys.iter() { + for aty in atys.iter() { let (ty, attr) = classify_arg_ty(*aty, &mut offset); arg_tys.push(ty); attrs.push(attr); diff --git a/src/librustc/middle/trans/cabi_x86_64.rs b/src/librustc/middle/trans/cabi_x86_64.rs index 7004de57da6..530e1ff8e5b 100644 --- a/src/librustc/middle/trans/cabi_x86_64.rs +++ b/src/librustc/middle/trans/cabi_x86_64.rs @@ -145,7 +145,7 @@ fn classify_ty(ty: Type) -> ~[RegClass] { } fn all_mem(cls: &mut [RegClass]) { - foreach i in range(0u, cls.len()) { + for i in range(0u, cls.len()) { cls[i] = Memory; } } @@ -179,7 +179,7 @@ fn classify_ty(ty: Type) -> ~[RegClass] { cls: &mut [RegClass], i: uint, off: uint) { let mut field_off = off; - foreach ty in tys.iter() { + for ty in tys.iter() { field_off = align(field_off, *ty); classify(*ty, cls, i, field_off); field_off += ty_size(*ty); @@ -294,7 +294,7 @@ fn classify_ty(ty: Type) -> ~[RegClass] { fn llreg_ty(cls: &[RegClass]) -> Type { fn llvec_len(cls: &[RegClass]) -> uint { let mut len = 1u; - foreach c in cls.iter() { + for c in cls.iter() { if *c != SSEUp { break; } @@ -355,7 +355,7 @@ fn x86_64_tys(atys: &[Type], let mut arg_tys = ~[]; let mut attrs = ~[]; - foreach t in atys.iter() { + for t in atys.iter() { let (ty, attr) = x86_64_ty(*t, |cls| cls.is_pass_byval(), ByValAttribute); arg_tys.push(ty); attrs.push(attr); diff --git a/src/librustc/middle/trans/callee.rs b/src/librustc/middle/trans/callee.rs index 8b8b020d8b6..577c4fa021b 100644 --- a/src/librustc/middle/trans/callee.rs +++ b/src/librustc/middle/trans/callee.rs @@ -619,7 +619,7 @@ pub fn trans_call_inner(in_cx: @mut Block, // the cleanup for the self argument match callee.data { Method(d) => { - foreach &v in d.temp_cleanup.iter() { + for &v in d.temp_cleanup.iter() { revoke_clean(bcx, v); } } @@ -629,7 +629,7 @@ pub fn trans_call_inner(in_cx: @mut Block, // Uncomment this to debug calls. /* printfln!("calling: %s", bcx.val_to_str(llfn)); - foreach llarg in llargs.iter() { + for llarg in llargs.iter() { printfln!("arg: %s", bcx.val_to_str(*llarg)); } io::println("---"); @@ -672,7 +672,7 @@ pub fn trans_call_inner(in_cx: @mut Block, bcx = do with_cond(bcx, ret_flag_result) |bcx| { { let r = bcx.fcx.loop_ret; - foreach &(flagptr, _) in r.iter() { + for &(flagptr, _) in r.iter() { Store(bcx, C_bool(true), flagptr); Store(bcx, C_bool(false), bcx.fcx.llretptr.get()); } @@ -729,7 +729,7 @@ pub fn trans_args(cx: @mut Block, match args { ArgExprs(arg_exprs) => { let last = arg_exprs.len() - 1u; - foreach (i, arg_expr) in arg_exprs.iter().enumerate() { + for (i, arg_expr) in arg_exprs.iter().enumerate() { let arg_val = unpack_result!(bcx, { trans_arg_expr(bcx, arg_tys[i], @@ -750,7 +750,7 @@ pub fn trans_args(cx: @mut Block, // now that all arguments have been successfully built, we can revoke any // temporary cleanups, as they are only needed if argument construction // should fail (for example, cleanup of copy mode args). - foreach c in temp_cleanups.iter() { + for c in temp_cleanups.iter() { revoke_clean(bcx, *c) } diff --git a/src/librustc/middle/trans/closure.rs b/src/librustc/middle/trans/closure.rs index 713d502c3fb..ae3b773af0b 100644 --- a/src/librustc/middle/trans/closure.rs +++ b/src/librustc/middle/trans/closure.rs @@ -228,7 +228,7 @@ pub fn store_environment(bcx: @mut Block, // Copy expr values into boxed bindings. let mut bcx = bcx; - foreach (i, bv) in bound_values.iter().enumerate() { + for (i, bv) in bound_values.iter().enumerate() { debug!("Copy %s into closure", bv.to_str(ccx)); if ccx.sess.asm_comments() { @@ -268,7 +268,7 @@ pub fn build_closure(bcx0: @mut Block, // Package up the captured upvars let mut env_vals = ~[]; - foreach cap_var in cap_vars.iter() { + for cap_var in cap_vars.iter() { debug!("Building closure: captured variable %?", *cap_var); let datum = expr::trans_local_var(bcx, cap_var.def); match cap_var.mode { @@ -290,7 +290,7 @@ pub fn build_closure(bcx0: @mut Block, // If this is a `for` loop body, add two special environment // variables: - foreach flagptr in include_ret_handle.iter() { + for flagptr in include_ret_handle.iter() { // Flag indicating we have returned (a by-ref bool): let flag_datum = Datum {val: *flagptr, ty: ty::mk_bool(), mode: ByRef(ZeroMem)}; @@ -337,7 +337,7 @@ pub fn load_environment(fcx: @mut FunctionContext, // Populate the upvars from the environment. let mut i = 0u; - foreach cap_var in cap_vars.iter() { + for cap_var in cap_vars.iter() { let mut upvarptr = GEPi(bcx, llcdata, [0u, i]); match sigil { ast::BorrowedSigil => { upvarptr = Load(bcx, upvarptr); } diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs index df59133d970..527706be6c1 100644 --- a/src/librustc/middle/trans/common.rs +++ b/src/librustc/middle/trans/common.rs @@ -138,8 +138,8 @@ pub struct param_substs { impl param_substs { pub fn validate(&self) { - foreach t in self.tys.iter() { assert!(!ty::type_needs_infer(*t)); } - foreach t in self.self_ty.iter() { assert!(!ty::type_needs_infer(*t)); } + for t in self.tys.iter() { assert!(!ty::type_needs_infer(*t)); } + for t in self.self_ty.iter() { assert!(!ty::type_needs_infer(*t)); } } } @@ -437,7 +437,7 @@ pub fn revoke_clean(cx: @mut Block, val: ValueRef) { clean_temp(v, _, _) if v == val => true, _ => false }); - foreach i in cleanup_pos.iter() { + for i in cleanup_pos.iter() { scope_info.cleanups = vec::append(scope_info.cleanups.slice(0u, *i).to_owned(), scope_info.cleanups.slice(*i + 1u, @@ -943,7 +943,7 @@ pub fn align_to(cx: @mut Block, off: ValueRef, align: ValueRef) -> ValueRef { pub fn path_str(sess: session::Session, p: &[path_elt]) -> ~str { let mut r = ~""; let mut first = true; - foreach e in p.iter() { + for e in p.iter() { match *e { ast_map::path_name(s) | ast_map::path_mod(s) => { if first { diff --git a/src/librustc/middle/trans/controlflow.rs b/src/librustc/middle/trans/controlflow.rs index 7d9eb95505b..4fa64b4130a 100644 --- a/src/librustc/middle/trans/controlflow.rs +++ b/src/librustc/middle/trans/controlflow.rs @@ -36,7 +36,7 @@ use syntax::codemap::span; pub fn trans_block(bcx: @mut Block, b: &ast::Block, dest: expr::Dest) -> @mut Block { let _icx = push_ctxt("trans_block"); let mut bcx = bcx; - foreach s in b.stmts.iter() { + for s in b.stmts.iter() { debuginfo::update_source_pos(bcx, b.span); bcx = trans_stmt(bcx, *s); } @@ -144,7 +144,7 @@ pub fn trans_if(bcx: @mut Block, pub fn join_blocks(parent_bcx: @mut Block, in_cxs: &[@mut Block]) -> @mut Block { let out = sub_block(parent_bcx, "join"); let mut reachable = false; - foreach bcx in in_cxs.iter() { + for bcx in in_cxs.iter() { if !bcx.unreachable { Br(*bcx, out.llbb); reachable = true; @@ -223,7 +223,7 @@ pub fn trans_log(log_ex: &ast::expr, let (modpath, modname) = { let path = &mut bcx.fcx.path; let mut modpath = ~[path_mod(ccx.sess.ident_of(ccx.link_meta.name))]; - foreach e in path.iter() { + for e in path.iter() { match *e { path_mod(_) => { modpath.push(*e) } _ => {} diff --git a/src/librustc/middle/trans/expr.rs b/src/librustc/middle/trans/expr.rs index c5b3d328f30..8cdbd943af7 100644 --- a/src/librustc/middle/trans/expr.rs +++ b/src/librustc/middle/trans/expr.rs @@ -1145,7 +1145,7 @@ fn trans_rec_or_struct(bcx: @mut Block, let optbase = match base { Some(base_expr) => { let mut leftovers = ~[]; - foreach (i, b) in need_base.iter().enumerate() { + for (i, b) in need_base.iter().enumerate() { if *b { leftovers.push((i, field_tys[i].mt.ty)) } @@ -1199,10 +1199,10 @@ fn trans_adt(bcx: @mut Block, repr: &adt::Repr, discr: uint, let mut bcx = bcx; let addr = match dest { Ignore => { - foreach &(_i, e) in fields.iter() { + for &(_i, e) in fields.iter() { bcx = trans_into(bcx, e, Ignore); } - foreach sbi in optbase.iter() { + for sbi in optbase.iter() { // FIXME #7261: this moves entire base, not just certain fields bcx = trans_into(bcx, sbi.expr, Ignore); } @@ -1212,18 +1212,18 @@ fn trans_adt(bcx: @mut Block, repr: &adt::Repr, discr: uint, }; let mut temp_cleanups = ~[]; adt::trans_start_init(bcx, repr, addr, discr); - foreach &(i, e) in fields.iter() { + for &(i, e) in fields.iter() { let dest = adt::trans_field_ptr(bcx, repr, addr, discr, i); let e_ty = expr_ty(bcx, e); bcx = trans_into(bcx, e, SaveIn(dest)); add_clean_temp_mem(bcx, dest, e_ty); temp_cleanups.push(dest); } - foreach base in optbase.iter() { + for base in optbase.iter() { // FIXME #6573: is it sound to use the destination's repr on the base? // And, would it ever be reasonable to be here with discr != 0? let base_datum = unpack_datum!(bcx, trans_to_datum(bcx, base.expr)); - foreach &(i, t) in base.fields.iter() { + for &(i, t) in base.fields.iter() { let datum = do base_datum.get_element(bcx, t, ZeroMem) |srcval| { adt::trans_field_ptr(bcx, repr, srcval, discr, i) }; @@ -1232,7 +1232,7 @@ fn trans_adt(bcx: @mut Block, repr: &adt::Repr, discr: uint, } } - foreach cleanup in temp_cleanups.iter() { + for cleanup in temp_cleanups.iter() { revoke_clean(bcx, *cleanup); } return bcx; diff --git a/src/librustc/middle/trans/foreign.rs b/src/librustc/middle/trans/foreign.rs index 5c2b606ba16..20c8e69129d 100644 --- a/src/librustc/middle/trans/foreign.rs +++ b/src/librustc/middle/trans/foreign.rs @@ -286,7 +286,7 @@ pub fn trans_foreign_mod(ccx: @mut CrateContext, Some(abi) => abi, }; - foreach &foreign_item in foreign_mod.items.iter() { + for &foreign_item in foreign_mod.items.iter() { match foreign_item.node { ast::foreign_item_fn(*) => { let id = foreign_item.id; @@ -498,7 +498,7 @@ pub fn trans_foreign_mod(ccx: @mut CrateContext, let _icx = push_ctxt("foreign::wrap::build_args"); let ccx = bcx.ccx(); let n = tys.llsig.llarg_tys.len(); - foreach i in range(0u, n) { + for i in range(0u, n) { let arg_i = bcx.fcx.arg_pos(i); let mut llargval = get_param(llwrapfn, arg_i); @@ -512,7 +512,7 @@ pub fn trans_foreign_mod(ccx: @mut CrateContext, store_inbounds(bcx, llargval, llargbundle, [0u, i]); } - foreach &retptr in bcx.fcx.llretptr.iter() { + for &retptr in bcx.fcx.llretptr.iter() { store_inbounds(bcx, retptr, llargbundle, [0u, n]); } } @@ -522,7 +522,7 @@ pub fn trans_foreign_mod(ccx: @mut CrateContext, llargbundle: ValueRef) { let _icx = push_ctxt("foreign::wrap::build_ret"); let arg_count = shim_types.fn_sig.inputs.len(); - foreach &retptr in bcx.fcx.llretptr.iter() { + for &retptr in bcx.fcx.llretptr.iter() { let llretptr = load_inbounds(bcx, llargbundle, [0, arg_count]); Store(bcx, Load(bcx, llretptr), retptr); } @@ -543,7 +543,7 @@ pub fn trans_intrinsic(ccx: @mut CrateContext, assert!(num_args <= 4); let mut args = [0 as ValueRef, ..4]; let first_real_arg = bcx.fcx.arg_pos(0u); - foreach i in range(0u, num_args) { + for i in range(0u, num_args) { args[i] = get_param(bcx.fcx.llfn, first_real_arg + i); } let llfn = bcx.ccx().intrinsics.get_copy(&name); diff --git a/src/librustc/middle/trans/glue.rs b/src/librustc/middle/trans/glue.rs index bbf07e36975..659f56b355e 100644 --- a/src/librustc/middle/trans/glue.rs +++ b/src/librustc/middle/trans/glue.rs @@ -426,7 +426,7 @@ pub fn trans_struct_drop_flag(bcx: @mut Block, t: ty::t, v0: ValueRef, dtor_did: // Drop the fields let field_tys = ty::struct_fields(bcx.tcx(), class_did, substs); - foreach (i, fld) in field_tys.iter().enumerate() { + for (i, fld) in field_tys.iter().enumerate() { let llfld_a = adt::trans_field_ptr(bcx, repr, v0, 0, i); bcx = drop_ty(bcx, llfld_a, fld.mt.ty); } @@ -461,7 +461,7 @@ pub fn trans_struct_drop(mut bcx: @mut Block, t: ty::t, v0: ValueRef, dtor_did: // Drop the fields let field_tys = ty::struct_fields(bcx.tcx(), class_did, substs); - foreach (i, fld) in field_tys.iter().enumerate() { + for (i, fld) in field_tys.iter().enumerate() { let llfld_a = adt::trans_field_ptr(bcx, repr, v0, 0, i); bcx = drop_ty(bcx, llfld_a, fld.mt.ty); } @@ -736,7 +736,7 @@ pub fn emit_tydescs(ccx: &mut CrateContext) { ccx.finished_tydescs = true; let glue_fn_ty = Type::generic_glue_fn(ccx).ptr_to(); let tyds = &mut ccx.tydescs; - foreach (_, &val) in tyds.iter() { + for (_, &val) in tyds.iter() { let ti = val; // Each of the glue functions needs to be cast to a generic type diff --git a/src/librustc/middle/trans/inline.rs b/src/librustc/middle/trans/inline.rs index 32d50ef9fd3..3b1fd0ecb69 100644 --- a/src/librustc/middle/trans/inline.rs +++ b/src/librustc/middle/trans/inline.rs @@ -68,7 +68,7 @@ pub fn maybe_instantiate_inline(ccx: @mut CrateContext, fn_id: ast::def_id) ast::item_enum(_, _) => { let vs_here = ty::enum_variants(ccx.tcx, local_def(item.id)); let vs_there = ty::enum_variants(ccx.tcx, parent_id); - foreach (here, there) in vs_here.iter().zip(vs_there.iter()) { + for (here, there) in vs_here.iter().zip(vs_there.iter()) { if there.id == fn_id { my_id = here.id.node; } ccx.external.insert(there.id, Some(here.id.node)); } diff --git a/src/librustc/middle/trans/meth.rs b/src/librustc/middle/trans/meth.rs index debaf0f04a7..ade41151f34 100644 --- a/src/librustc/middle/trans/meth.rs +++ b/src/librustc/middle/trans/meth.rs @@ -57,7 +57,7 @@ pub fn trans_impl(ccx: @mut CrateContext, if !generics.ty_params.is_empty() { return; } let sub_path = vec::append_one(path, path_name(name)); - foreach method in methods.iter() { + for method in methods.iter() { if method.generics.ty_params.len() == 0u { let llfn = get_item_val(ccx, method.id); let path = vec::append_one(sub_path.clone(), @@ -599,7 +599,7 @@ pub fn make_vtable(ccx: &mut CrateContext, let _icx = push_ctxt("impl::make_vtable"); let mut components = ~[ tydesc.tydesc ]; - foreach &ptr in ptrs.iter() { + for &ptr in ptrs.iter() { components.push(ptr) } diff --git a/src/librustc/middle/trans/monomorphize.rs b/src/librustc/middle/trans/monomorphize.rs index 272c72f03ea..6fd47436fd8 100644 --- a/src/librustc/middle/trans/monomorphize.rs +++ b/src/librustc/middle/trans/monomorphize.rs @@ -75,8 +75,8 @@ pub fn monomorphic_fn(ccx: @mut CrateContext, self_vtables: self_vtables }; - foreach s in real_substs.tps.iter() { assert!(!ty::type_has_params(*s)); } - foreach s in psubsts.tys.iter() { assert!(!ty::type_has_params(*s)); } + for s in real_substs.tps.iter() { assert!(!ty::type_has_params(*s)); } + for s in psubsts.tys.iter() { assert!(!ty::type_has_params(*s)); } let param_uses = type_use::type_uses_for(ccx, fn_id, psubsts.tys.len()); diff --git a/src/librustc/middle/trans/reflect.rs b/src/librustc/middle/trans/reflect.rs index 93b2e8a6665..e4259c80720 100644 --- a/src/librustc/middle/trans/reflect.rs +++ b/src/librustc/middle/trans/reflect.rs @@ -96,7 +96,7 @@ impl Reflector { let v = self.visitor_val; debug!("passing %u args:", args.len()); let mut bcx = self.bcx; - foreach (i, a) in args.iter().enumerate() { + for (i, a) in args.iter().enumerate() { debug!("arg %u: %s", i, bcx.val_to_str(*a)); } let bool_ty = ty::mk_bool(); @@ -214,7 +214,7 @@ impl Reflector { let extra = ~[self.c_uint(tys.len())] + self.c_size_and_align(t); do self.bracketed("tup", extra) |this| { - foreach (i, t) in tys.iter().enumerate() { + for (i, t) in tys.iter().enumerate() { let extra = ~[this.c_uint(i), this.c_tydesc(*t)]; this.visit("tup_field", extra); } @@ -259,7 +259,7 @@ impl Reflector { let extra = ~[self.c_uint(fields.len())] + self.c_size_and_align(t); do self.bracketed("class", extra) |this| { - foreach (i, field) in fields.iter().enumerate() { + for (i, field) in fields.iter().enumerate() { let extra = ~[this.c_uint(i), this.c_slice( bcx.ccx().sess.str_of(field.ident))] @@ -318,14 +318,14 @@ impl Reflector { let enum_args = ~[self.c_uint(variants.len()), make_get_disr()] + self.c_size_and_align(t); do self.bracketed("enum", enum_args) |this| { - foreach (i, v) in variants.iter().enumerate() { + for (i, v) in variants.iter().enumerate() { let name = ccx.sess.str_of(v.name); let variant_args = ~[this.c_uint(i), this.c_uint(v.disr_val), this.c_uint(v.args.len()), this.c_slice(name)]; do this.bracketed("enum_variant", variant_args) |this| { - foreach (j, a) in v.args.iter().enumerate() { + for (j, a) in v.args.iter().enumerate() { let bcx = this.bcx; let null = C_null(llptrty); let ptr = adt::trans_field_ptr(bcx, repr, null, v.disr_val, j); @@ -360,7 +360,7 @@ impl Reflector { } pub fn visit_sig(&mut self, retval: uint, sig: &ty::FnSig) { - foreach (i, arg) in sig.inputs.iter().enumerate() { + for (i, arg) in sig.inputs.iter().enumerate() { let modeval = 5u; // "by copy" let extra = ~[self.c_uint(i), self.c_uint(modeval), diff --git a/src/librustc/middle/trans/tvec.rs b/src/librustc/middle/trans/tvec.rs index b37a99771bd..34404e49317 100644 --- a/src/librustc/middle/trans/tvec.rs +++ b/src/librustc/middle/trans/tvec.rs @@ -374,14 +374,14 @@ pub fn write_content(bcx: @mut Block, ast::expr_vec(ref elements, _) => { match dest { Ignore => { - foreach element in elements.iter() { + for element in elements.iter() { bcx = expr::trans_into(bcx, *element, Ignore); } } SaveIn(lldest) => { let mut temp_cleanups = ~[]; - foreach (i, element) in elements.iter().enumerate() { + for (i, element) in elements.iter().enumerate() { let lleltptr = GEPi(bcx, lldest, [i]); debug!("writing index %? with lleltptr=%?", i, bcx.val_to_str(lleltptr)); @@ -390,7 +390,7 @@ pub fn write_content(bcx: @mut Block, add_clean_temp_mem(bcx, lleltptr, vt.unit_ty); temp_cleanups.push(lleltptr); } - foreach cleanup in temp_cleanups.iter() { + for cleanup in temp_cleanups.iter() { revoke_clean(bcx, *cleanup); } } diff --git a/src/librustc/middle/trans/type_use.rs b/src/librustc/middle/trans/type_use.rs index b895ec729f8..5a722e8e695 100644 --- a/src/librustc/middle/trans/type_use.rs +++ b/src/librustc/middle/trans/type_use.rs @@ -93,7 +93,7 @@ pub fn type_uses_for(ccx: @mut CrateContext, fn_id: def_id, n_tps: uint) // We also mark all of the params as used if it is an extern thing // that we haven't been able to inline yet. if is_default || fn_id_loc.crate != LOCAL_CRATE { - foreach n in range(0u, n_tps) { cx.uses[n] |= use_all; } + for n in range(0u, n_tps) { cx.uses[n] |= use_all; } return store_type_uses(cx, fn_id); } @@ -117,13 +117,13 @@ pub fn type_uses_for(ccx: @mut CrateContext, fn_id: def_id, n_tps: uint) // This will be a static trait method. For now, we just assume // it fully depends on all of the type information. (Doing // otherwise would require finding the actual implementation). - foreach n in range(0u, n_tps) { cx.uses[n] |= use_all;} + for n in range(0u, n_tps) { cx.uses[n] |= use_all;} // We need to return early, before the arguments are processed, // because of difficulties in the handling of Self. return store_type_uses(cx, fn_id); } ast_map::node_variant(_, _, _) => { - foreach n in range(0u, n_tps) { cx.uses[n] |= use_repr;} + for n in range(0u, n_tps) { cx.uses[n] |= use_repr;} } ast_map::node_foreign_item(i@@foreign_item { node: foreign_item_fn(*), @@ -172,13 +172,13 @@ pub fn type_uses_for(ccx: @mut CrateContext, fn_id: def_id, n_tps: uint) _ => fail!("unknown intrinsic in type_use") } }; - foreach n in range(0u, n_tps) { cx.uses[n] |= flags;} + for n in range(0u, n_tps) { cx.uses[n] |= flags;} } } ast_map::node_struct_ctor(*) => { // Similarly to node_variant, this monomorphized function just // uses the representations of all of its type parameters. - foreach n in range(0u, n_tps) { cx.uses[n] |= use_repr; } + for n in range(0u, n_tps) { cx.uses[n] |= use_repr; } } _ => { ccx.tcx.sess.bug(fmt!("unknown node type in type_use: %s", @@ -193,7 +193,7 @@ pub fn type_uses_for(ccx: @mut CrateContext, fn_id: def_id, n_tps: uint) match ty::get(ty::lookup_item_type(cx.ccx.tcx, fn_id).ty).sty { ty::ty_bare_fn(ty::BareFnTy {sig: ref sig, _}) | ty::ty_closure(ty::ClosureTy {sig: ref sig, _}) => { - foreach arg in sig.inputs.iter() { + for arg in sig.inputs.iter() { type_needs(&cx, use_repr, *arg); } } @@ -209,7 +209,7 @@ pub fn type_needs(cx: &Context, use_: uint, ty: ty::t) { let uses = &*cx.uses; uses.len() }; - foreach i in range(0u, len) { + for i in range(0u, len) { if cx.uses[i] & use_ != use_ { type_needs_inner(cx, use_, ty, @Nil); return; @@ -240,8 +240,8 @@ pub fn type_needs_inner(cx: &Context, if list::find(enums_seen, |id| *id == did).is_none() { let seen = @Cons(did, enums_seen); let r = ty::enum_variants(cx.ccx.tcx, did); - foreach v in r.iter() { - foreach aty in v.args.iter() { + for v in r.iter() { + for aty in v.args.iter() { let t = ty::subst(cx.ccx.tcx, &(*substs), *aty); type_needs_inner(cx, use_, t, seen); } @@ -267,7 +267,7 @@ pub fn mark_for_method_call(cx: &Context, e_id: NodeId, callee_id: NodeId) { let mut opt_static_did = None; { let r = cx.ccx.maps.method_map.find(&e_id); - foreach mth in r.iter() { + for mth in r.iter() { match mth.origin { typeck::method_static(did) => { opt_static_did = Some(did); @@ -287,12 +287,12 @@ pub fn mark_for_method_call(cx: &Context, e_id: NodeId, callee_id: NodeId) { // above because the recursive call to `type_needs` can trigger // inlining and hence can cause `method_map` and // `node_type_substs` to be modified. - foreach &did in opt_static_did.iter() { + for &did in opt_static_did.iter() { { let r = cx.ccx.tcx.node_type_substs.find_copy(&callee_id); - foreach ts in r.iter() { + for ts in r.iter() { let type_uses = type_uses_for(cx.ccx, did, ts.len()); - foreach (uses, subst) in type_uses.iter().zip(ts.iter()) { + for (uses, subst) in type_uses.iter().zip(ts.iter()) { type_needs(cx, *uses, *subst) } } @@ -328,10 +328,10 @@ pub fn mark_for_expr(cx: &Context, e: &expr) { } expr_path(_) | expr_self => { let opt_ts = cx.ccx.tcx.node_type_substs.find_copy(&e.id); - foreach ts in opt_ts.iter() { + for ts in opt_ts.iter() { let id = ast_util::def_id_of_def(cx.ccx.tcx.def_map.get_copy(&e.id)); let uses_for_ts = type_uses_for(cx.ccx, id, ts.len()); - foreach (uses, subst) in uses_for_ts.iter().zip(ts.iter()) { + for (uses, subst) in uses_for_ts.iter().zip(ts.iter()) { type_needs(cx, *uses, *subst) } } @@ -340,7 +340,7 @@ pub fn mark_for_expr(cx: &Context, e: &expr) { match ty::ty_closure_sigil(ty::expr_ty(cx.ccx.tcx, e)) { ast::OwnedSigil => {} ast::BorrowedSigil | ast::ManagedSigil => { - foreach fv in freevars::get_freevars(cx.ccx.tcx, e.id).iter() { + for fv in freevars::get_freevars(cx.ccx.tcx, e.id).iter() { let node_id = ast_util::def_id_of_def(fv.def).node; node_type_needs(cx, use_repr, node_id); } @@ -371,7 +371,7 @@ pub fn mark_for_expr(cx: &Context, e: &expr) { } expr_call(f, _, _) => { let r = ty::ty_fn_args(ty::node_id_to_type(cx.ccx.tcx, f.id)); - foreach a in r.iter() { + for a in r.iter() { type_needs(cx, use_repr, *a); } } @@ -380,17 +380,17 @@ pub fn mark_for_expr(cx: &Context, e: &expr) { type_needs(cx, use_repr, ty::type_autoderef(cx.ccx.tcx, base_ty)); let r = ty::ty_fn_args(ty::node_id_to_type(cx.ccx.tcx, callee_id)); - foreach a in r.iter() { + for a in r.iter() { type_needs(cx, use_repr, *a); } mark_for_method_call(cx, e.id, callee_id); } expr_inline_asm(ref ia) => { - foreach &(_, input) in ia.inputs.iter() { + for &(_, input) in ia.inputs.iter() { node_type_needs(cx, use_repr, input.id); } - foreach &(_, out) in ia.outputs.iter() { + for &(_, out) in ia.outputs.iter() { node_type_needs(cx, use_repr, out.id); } } @@ -422,7 +422,7 @@ pub fn handle_body(cx: &Context, body: &Block) { }, visit_block: |b, (cx, v)| { oldvisit::visit_block(b, (cx, v)); - foreach e in b.expr.iter() { + for e in b.expr.iter() { node_type_needs(cx, use_repr, e.id); } }, diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index bfab8e26132..0e90452fdfa 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -958,11 +958,11 @@ fn mk_t(cx: ctxt, st: sty) -> t { } fn sflags(substs: &substs) -> uint { let mut f = 0u; - foreach tt in substs.tps.iter() { f |= get(*tt).flags; } + for tt in substs.tps.iter() { f |= get(*tt).flags; } match substs.regions { ErasedRegions => {} NonerasedRegions(ref regions) => { - foreach r in regions.iter() { + for r in regions.iter() { f |= rflags(*r) } } @@ -1004,16 +1004,16 @@ fn mk_t(cx: ctxt, st: sty) -> t { flags |= rflags(r); flags |= get(m.ty).flags; } - &ty_tup(ref ts) => foreach tt in ts.iter() { flags |= get(*tt).flags; }, + &ty_tup(ref ts) => for tt in ts.iter() { flags |= get(*tt).flags; }, &ty_bare_fn(ref f) => { - foreach a in f.sig.inputs.iter() { flags |= get(*a).flags; } + for a in f.sig.inputs.iter() { flags |= get(*a).flags; } flags |= get(f.sig.output).flags; // T -> _|_ is *not* _|_ ! flags &= !(has_ty_bot as uint); } &ty_closure(ref f) => { flags |= rflags(f.region); - foreach a in f.sig.inputs.iter() { flags |= get(*a).flags; } + for a in f.sig.inputs.iter() { flags |= get(*a).flags; } flags |= get(f.sig.output).flags; // T -> _|_ is *not* _|_ ! flags &= !(has_ty_bot as uint); @@ -1268,15 +1268,15 @@ pub fn maybe_walk_ty(ty: t, f: &fn(t) -> bool) { } ty_enum(_, ref substs) | ty_struct(_, ref substs) | ty_trait(_, ref substs, _, _, _) => { - foreach subty in (*substs).tps.iter() { maybe_walk_ty(*subty, |x| f(x)); } + for subty in (*substs).tps.iter() { maybe_walk_ty(*subty, |x| f(x)); } } - ty_tup(ref ts) => { foreach tt in ts.iter() { maybe_walk_ty(*tt, |x| f(x)); } } + ty_tup(ref ts) => { for tt in ts.iter() { maybe_walk_ty(*tt, |x| f(x)); } } ty_bare_fn(ref ft) => { - foreach a in ft.sig.inputs.iter() { maybe_walk_ty(*a, |x| f(x)); } + for a in ft.sig.inputs.iter() { maybe_walk_ty(*a, |x| f(x)); } maybe_walk_ty(ft.sig.output, f); } ty_closure(ref ft) => { - foreach a in ft.sig.inputs.iter() { maybe_walk_ty(*a, |x| f(x)); } + for a in ft.sig.inputs.iter() { maybe_walk_ty(*a, |x| f(x)); } maybe_walk_ty(ft.sig.output, f); } } @@ -1765,8 +1765,8 @@ fn type_needs_unwind_cleanup_(cx: ctxt, ty: t, true } ty_enum(did, ref substs) => { - foreach v in (*enum_variants(cx, did)).iter() { - foreach aty in v.args.iter() { + for v in (*enum_variants(cx, did)).iter() { + for aty in v.args.iter() { let t = subst(cx, substs, *aty); needs_unwind_cleanup |= type_needs_unwind_cleanup_(cx, t, tycache, @@ -2436,8 +2436,8 @@ pub fn type_structurally_contains(cx: ctxt, if test(sty) { return true; } match *sty { ty_enum(did, ref substs) => { - foreach variant in (*enum_variants(cx, did)).iter() { - foreach aty in variant.args.iter() { + for variant in (*enum_variants(cx, did)).iter() { + for aty in variant.args.iter() { let sty = subst(cx, substs, *aty); if type_structurally_contains(cx, sty, |x| test(x)) { return true; } } @@ -2446,7 +2446,7 @@ pub fn type_structurally_contains(cx: ctxt, } ty_struct(did, ref substs) => { let r = lookup_struct_fields(cx, did); - foreach field in r.iter() { + for field in r.iter() { let ft = lookup_field_type(cx, did, field.id, substs); if type_structurally_contains(cx, ft, |x| test(x)) { return true; } } @@ -2454,7 +2454,7 @@ pub fn type_structurally_contains(cx: ctxt, } ty_tup(ref ts) => { - foreach tt in ts.iter() { + for tt in ts.iter() { if type_structurally_contains(cx, *tt, |x| test(x)) { return true; } } return false; @@ -2533,7 +2533,7 @@ pub fn type_is_pod(cx: ctxt, ty: t) -> bool { // Structural types ty_enum(did, ref substs) => { let variants = enum_variants(cx, did); - foreach variant in (*variants).iter() { + for variant in (*variants).iter() { // XXX(pcwalton): This is an inefficient way to do this. Don't // synthesize a tuple! // @@ -2544,7 +2544,7 @@ pub fn type_is_pod(cx: ctxt, ty: t) -> bool { } } ty_tup(ref elts) => { - foreach elt in elts.iter() { if !type_is_pod(cx, *elt) { result = false; } } + for elt in elts.iter() { if !type_is_pod(cx, *elt) { result = false; } } } ty_estr(vstore_fixed(_)) => result = true, ty_evec(ref mt, vstore_fixed(_)) | ty_unboxed_vec(ref mt) => { @@ -2963,7 +2963,7 @@ pub fn adjust_ty(cx: ctxt, let mut adjusted_ty = unadjusted_ty; if (!ty::type_is_error(adjusted_ty)) { - foreach i in range(0, adj.autoderefs) { + for i in range(0, adj.autoderefs) { match ty::deref(cx, adjusted_ty, true) { Some(mt) => { adjusted_ty = mt.ty; } None => { @@ -3274,14 +3274,14 @@ pub fn stmt_node_id(s: &ast::stmt) -> ast::NodeId { pub fn field_idx(id: ast::ident, fields: &[field]) -> Option { let mut i = 0u; - foreach f in fields.iter() { if f.ident == id { return Some(i); } i += 1u; } + for f in fields.iter() { if f.ident == id { return Some(i); } i += 1u; } return None; } pub fn field_idx_strict(tcx: ty::ctxt, id: ast::ident, fields: &[field]) -> uint { let mut i = 0u; - foreach f in fields.iter() { if f.ident == id { return i; } i += 1u; } + for f in fields.iter() { if f.ident == id { return i; } i += 1u; } tcx.sess.bug(fmt!( "No field named `%s` found in the list of fields `%?`", tcx.sess.str_of(id), @@ -4384,7 +4384,7 @@ pub fn determine_inherited_purity(parent: (ast::purity, ast::NodeId), pub fn each_bound_trait_and_supertraits(tcx: ctxt, bounds: &[@TraitRef], f: &fn(@TraitRef) -> bool) -> bool { - foreach &bound_trait_ref in bounds.iter() { + for &bound_trait_ref in bounds.iter() { let mut supertrait_set = HashMap::new(); let mut trait_refs = ~[]; let mut i = 0; @@ -4404,7 +4404,7 @@ pub fn each_bound_trait_and_supertraits(tcx: ctxt, // Add supertraits to supertrait_set let supertrait_refs = trait_ref_supertraits(tcx, trait_refs[i]); - foreach &supertrait_ref in supertrait_refs.iter() { + for &supertrait_ref in supertrait_refs.iter() { debug!("each_bound_trait_and_supertraits(supertrait_ref=%s)", supertrait_ref.repr(tcx)); @@ -4425,7 +4425,7 @@ pub fn each_bound_trait_and_supertraits(tcx: ctxt, pub fn count_traits_and_supertraits(tcx: ctxt, type_param_defs: &[TypeParameterDef]) -> uint { let mut total = 0; - foreach type_param_def in type_param_defs.iter() { + for type_param_def in type_param_defs.iter() { do each_bound_trait_and_supertraits( tcx, type_param_def.bounds.trait_bounds) |_| { total += 1; diff --git a/src/librustc/middle/typeck/astconv.rs b/src/librustc/middle/typeck/astconv.rs index 8a8b3a07c5d..ebf9d0944c9 100644 --- a/src/librustc/middle/typeck/astconv.rs +++ b/src/librustc/middle/typeck/astconv.rs @@ -768,7 +768,7 @@ fn conv_builtin_bounds(tcx: ty::ctxt, ast_bounds: &Option { let mut builtin_bounds = ty::EmptyBuiltinBounds(); - foreach ast_bound in bound_vec.iter() { + for ast_bound in bound_vec.iter() { match *ast_bound { ast::TraitTyParamBound(ref b) => { match lookup_def_tcx(tcx, b.path.span, b.ref_id) { diff --git a/src/librustc/middle/typeck/check/_match.rs b/src/librustc/middle/typeck/check/_match.rs index 9555a58fff3..842bbff41e0 100644 --- a/src/librustc/middle/typeck/check/_match.rs +++ b/src/librustc/middle/typeck/check/_match.rs @@ -35,13 +35,13 @@ pub fn check_match(fcx: @mut FnCtxt, // Typecheck the patterns first, so that we get types for all the // bindings. - foreach arm in arms.iter() { + for arm in arms.iter() { let pcx = pat_ctxt { fcx: fcx, map: pat_id_map(tcx.def_map, arm.pats[0]), }; - foreach p in arm.pats.iter() { check_pat(&pcx, *p, discrim_ty);} + for p in arm.pats.iter() { check_pat(&pcx, *p, discrim_ty);} } // The result of the match is the common supertype of all the @@ -55,7 +55,7 @@ pub fn check_match(fcx: @mut FnCtxt, // Now typecheck the blocks. let mut saw_err = ty::type_is_error(discrim_ty); - foreach arm in arms.iter() { + for arm in arms.iter() { let mut guard_err = false; let mut guard_bot = false; match arm.guard { @@ -239,8 +239,8 @@ pub fn check_pat_variant(pcx: &pat_ctxt, pat: @ast::pat, path: &ast::Path, } if !error_happened { - foreach pats in subpats.iter() { - foreach (subpat, arg_ty) in pats.iter().zip(arg_types.iter()) { + for pats in subpats.iter() { + for (subpat, arg_ty) in pats.iter().zip(arg_types.iter()) { check_pat(pcx, *subpat, *arg_ty); } } @@ -256,8 +256,8 @@ pub fn check_pat_variant(pcx: &pat_ctxt, pat: @ast::pat, path: &ast::Path, } if error_happened { - foreach pats in subpats.iter() { - foreach pat in pats.iter() { + for pats in subpats.iter() { + for pat in pats.iter() { check_pat(pcx, *pat, ty::mk_err()); } } @@ -283,13 +283,13 @@ pub fn check_struct_pat_fields(pcx: &pat_ctxt, // Index the class fields. let mut field_map = HashMap::new(); - foreach (i, class_field) in class_fields.iter().enumerate() { + for (i, class_field) in class_fields.iter().enumerate() { field_map.insert(class_field.ident, i); } // Typecheck each field. let mut found_fields = HashSet::new(); - foreach field in fields.iter() { + for field in fields.iter() { match field_map.find(&field.ident) { Some(&index) => { let class_field = class_fields[index]; @@ -312,7 +312,7 @@ pub fn check_struct_pat_fields(pcx: &pat_ctxt, // Report an error if not all the fields were specified. if !etc { - foreach (i, field) in class_fields.iter().enumerate() { + for (i, field) in class_fields.iter().enumerate() { if found_fields.contains(&i) { loop; } @@ -518,13 +518,13 @@ pub fn check_pat(pcx: &pat_ctxt, pat: @ast::pat, expected: ty::t) { let e_count = elts.len(); match *s { ty::ty_tup(ref ex_elts) if e_count == ex_elts.len() => { - foreach (i, elt) in elts.iter().enumerate() { + for (i, elt) in elts.iter().enumerate() { check_pat(pcx, *elt, ex_elts[i]); } fcx.write_ty(pat.id, expected); } _ => { - foreach elt in elts.iter() { + for elt in elts.iter() { check_pat(pcx, *elt, ty::mk_err()); } // use terr_tuple_size if both types are tuples @@ -572,13 +572,13 @@ pub fn check_pat(pcx: &pat_ctxt, pat: @ast::pat, expected: ty::t) { (mt, default_region_var) }, _ => { - foreach &elt in before.iter() { + for &elt in before.iter() { check_pat(pcx, elt, ty::mk_err()); } - foreach &elt in slice.iter() { + for &elt in slice.iter() { check_pat(pcx, elt, ty::mk_err()); } - foreach &elt in after.iter() { + for &elt in after.iter() { check_pat(pcx, elt, ty::mk_err()); } fcx.infcx().type_error_message_str_with_expected( @@ -594,7 +594,7 @@ pub fn check_pat(pcx: &pat_ctxt, pat: @ast::pat, expected: ty::t) { return; } }; - foreach elt in before.iter() { + for elt in before.iter() { check_pat(pcx, *elt, elt_type.ty); } match slice { @@ -607,7 +607,7 @@ pub fn check_pat(pcx: &pat_ctxt, pat: @ast::pat, expected: ty::t) { } None => () } - foreach elt in after.iter() { + for elt in after.iter() { check_pat(pcx, *elt, elt_type.ty); } fcx.write_ty(pat.id, expected); diff --git a/src/librustc/middle/typeck/check/method.rs b/src/librustc/middle/typeck/check/method.rs index 2d7840423c5..209f636ddc2 100644 --- a/src/librustc/middle/typeck/check/method.rs +++ b/src/librustc/middle/typeck/check/method.rs @@ -313,12 +313,12 @@ impl<'self> LookupContext<'self> { // candidates. let trait_map: &mut resolve::TraitMap = &mut self.fcx.ccx.trait_map; let opt_applicable_traits = trait_map.find(&self.expr.id); - foreach applicable_traits in opt_applicable_traits.iter() { - foreach trait_did in applicable_traits.iter() { + for applicable_traits in opt_applicable_traits.iter() { + for trait_did in applicable_traits.iter() { // Look for explicit implementations. let opt_impl_infos = self.tcx().trait_impls.find(trait_did); - foreach impl_infos in opt_impl_infos.iter() { - foreach impl_info in impl_infos.iter() { + for impl_infos in opt_impl_infos.iter() { + for impl_info in impl_infos.iter() { self.push_candidates_from_impl( self.extension_candidates, *impl_info); @@ -461,8 +461,8 @@ impl<'self> LookupContext<'self> { pub fn push_inherent_impl_candidates_for_type(&self, did: def_id) { let opt_impl_infos = self.tcx().inherent_impls.find(&did); - foreach impl_infos in opt_impl_infos.iter() { - foreach impl_info in impl_infos.iter() { + for impl_infos in opt_impl_infos.iter() { + for impl_info in impl_infos.iter() { self.push_candidates_from_impl( self.inherent_candidates, *impl_info); } @@ -708,7 +708,7 @@ impl<'self> LookupContext<'self> { let region = self.infcx().next_region_var( infer::Autoref(self.expr.span)); - foreach mutbl in mutbls.iter() { + for mutbl in mutbls.iter() { let autoref_ty = mk_autoref_ty(*mutbl, region); match self.search_for_method(autoref_ty) { None => {} @@ -772,7 +772,7 @@ impl<'self> LookupContext<'self> { self.tcx().sess.span_err( self.expr.span, "multiple applicable methods in scope"); - foreach idx in range(0u, relevant_candidates.len()) { + for idx in range(0u, relevant_candidates.len()) { self.report_candidate(idx, &relevant_candidates[idx].origin); } } diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs index feecb82eaab..4ab79ac1c8f 100644 --- a/src/librustc/middle/typeck/check/mod.rs +++ b/src/librustc/middle/typeck/check/mod.rs @@ -428,10 +428,10 @@ pub fn check_fn(ccx: @mut CrateCtxt, None => () } - foreach self_info in opt_self_info.iter() { + for self_info in opt_self_info.iter() { fcx.write_ty(self_info.self_id, self_info.self_ty); } - foreach (input, arg) in decl.inputs.iter().zip(arg_tys.iter()) { + for (input, arg) in decl.inputs.iter().zip(arg_tys.iter()) { fcx.write_ty(input.id, *arg); } @@ -460,7 +460,7 @@ pub fn check_fn(ccx: @mut CrateCtxt, }; // Add the self parameter - foreach self_info in opt_self_info.iter() { + for self_info in opt_self_info.iter() { assign(self_info.self_id, Some(self_info.self_ty)); debug!("self is assigned to %s", fcx.infcx().ty_to_str( @@ -468,7 +468,7 @@ pub fn check_fn(ccx: @mut CrateCtxt, } // Add formal parameters. - foreach (arg_ty, input) in arg_tys.iter().zip(decl.inputs.iter()) { + for (arg_ty, input) in arg_tys.iter().zip(decl.inputs.iter()) { // Create type variables for each argument. do pat_util::pat_bindings(tcx.def_map, input.pat) |_bm, pat_id, _sp, _path| { @@ -570,7 +570,7 @@ pub fn check_no_duplicate_fields(tcx: ty::ctxt, fields: ~[(ast::ident, span)]) { let mut field_names = HashMap::new(); - foreach p in fields.iter() { + for p in fields.iter() { let (id, sp) = *p; let orig_sp = field_names.find(&id).map_consume(|x| *x); match orig_sp { @@ -619,13 +619,13 @@ pub fn check_item(ccx: @mut CrateCtxt, it: @ast::item) { let rp = ccx.tcx.region_paramd_items.find(&it.id).map_consume(|x| *x); debug!("item_impl %s with id %d rp %?", ccx.tcx.sess.str_of(it.ident), it.id, rp); - foreach m in ms.iter() { + for m in ms.iter() { check_method(ccx, *m); } vtable::resolve_impl(ccx, it); } ast::item_trait(_, _, ref trait_methods) => { - foreach trait_method in (*trait_methods).iter() { + for trait_method in (*trait_methods).iter() { match *trait_method { required(*) => { // Nothing to do, since required methods don't have @@ -646,11 +646,11 @@ pub fn check_item(ccx: @mut CrateCtxt, it: @ast::item) { } ast::item_foreign_mod(ref m) => { if m.abis.is_intrinsic() { - foreach item in m.items.iter() { + for item in m.items.iter() { check_intrinsic_type(ccx, *item); } } else { - foreach item in m.items.iter() { + for item in m.items.iter() { let tpt = ty::lookup_item_type(ccx.tcx, local_def(item.id)); if tpt.generics.has_type_params() { ccx.tcx.sess.span_err( @@ -1261,7 +1261,7 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, // of arguments when we typecheck the functions. This isn't really the // right way to do this. let xs = [false, true]; - foreach check_blocks in xs.iter() { + for check_blocks in xs.iter() { let check_blocks = *check_blocks; debug!("check_blocks=%b", check_blocks); @@ -1272,7 +1272,7 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, vtable::early_resolve_expr(callee_expr, fcx, true); } - foreach (i, arg) in args.iter().enumerate() { + for (i, arg) in args.iter().enumerate() { let is_block = match arg.node { ast::expr_fn_block(*) | ast::expr_loop_body(*) | ast::expr_do_body(*) => true, @@ -1887,14 +1887,14 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, let mut class_field_map = HashMap::new(); let mut fields_found = 0; - foreach field in field_types.iter() { + for field in field_types.iter() { class_field_map.insert(field.ident, (field.id, false)); } let mut error_happened = false; // Typecheck each field. - foreach field in ast_fields.iter() { + for field in ast_fields.iter() { let mut expected_field_type = ty::mk_err(); let pair = class_field_map.find(&field.ident). @@ -1940,7 +1940,7 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, assert!(fields_found <= field_types.len()); if fields_found < field_types.len() { let mut missing_fields = ~[]; - foreach class_field in field_types.iter() { + for class_field in field_types.iter() { let name = class_field.ident; let (_, seen) = *class_field_map.get(&name); if !seen { @@ -2262,7 +2262,7 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, _ => mutability = mutbl } let t: ty::t = fcx.infcx().next_ty_var(); - foreach e in args.iter() { + for e in args.iter() { check_expr_has_type(fcx, *e, t); let arg_t = fcx.expr_ty(*e); if ty::type_is_error(arg_t) { @@ -2482,10 +2482,10 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, fcx.write_ty(id, ty_param_bounds_and_ty.ty); } ast::expr_inline_asm(ref ia) => { - foreach &(_, input) in ia.inputs.iter() { + for &(_, input) in ia.inputs.iter() { check_expr(fcx, input); } - foreach &(_, out) in ia.outputs.iter() { + for &(_, out) in ia.outputs.iter() { check_expr(fcx, out); } fcx.write_nil(id); @@ -2750,7 +2750,7 @@ pub fn check_expr_with_unifier(fcx: @mut FnCtxt, } ast::expr_vec(ref args, mutbl) => { let t: ty::t = fcx.infcx().next_ty_var(); - foreach e in args.iter() { + for e in args.iter() { check_expr_has_type(fcx, *e, t); } let typ = ty::mk_evec(tcx, ty::mt {ty: t, mutbl: mutbl}, @@ -3008,7 +3008,7 @@ pub fn check_block_with_expected(fcx: @mut FnCtxt, let mut last_was_bot = false; let mut any_bot = false; let mut any_err = false; - foreach s in blk.stmts.iter() { + for s in blk.stmts.iter() { check_stmt(fcx, *s); let s_id = ast_util::stmt_id(*s); let s_ty = fcx.node_ty(s_id); @@ -3147,7 +3147,7 @@ pub fn check_enum_variants(ccx: @mut CrateCtxt, let mut disr_vals: ~[uint] = ~[]; let mut prev_disr_val: Option = None; - foreach v in vs.iter() { + for v in vs.iter() { // If the discriminant value is specified explicitly in the enum check whether the // initialization expression is valid, otherwise use the last value plus one. @@ -3475,7 +3475,7 @@ pub fn check_bounds_are_used(ccx: @mut CrateCtxt, true }); - foreach (i, b) in tps_used.iter().enumerate() { + for (i, b) in tps_used.iter().enumerate() { if !*b { ccx.tcx.sess.span_err( span, fmt!("type parameter `%s` is unused", diff --git a/src/librustc/middle/typeck/check/regionck.rs b/src/librustc/middle/typeck/check/regionck.rs index fdb2925d30b..3da70668434 100644 --- a/src/librustc/middle/typeck/check/regionck.rs +++ b/src/librustc/middle/typeck/check/regionck.rs @@ -195,7 +195,7 @@ fn visit_block(b: &ast::Block, (rcx, v): (@mut Rcx, rvt)) { fn visit_arm(arm: &ast::arm, (rcx, v): (@mut Rcx, rvt)) { // see above - foreach &p in arm.pats.iter() { + for &p in arm.pats.iter() { constrain_bindings_in_pat(p, rcx); } @@ -281,8 +281,8 @@ fn visit_expr(expr: @ast::expr, (rcx, v): (@mut Rcx, rvt)) { } ast::expr_match(_, ref arms) => { tcx.region_maps.record_cleanup_scope(expr.id); - foreach arm in arms.iter() { - foreach guard in arm.guard.iter() { + for arm in arms.iter() { + for guard in arm.guard.iter() { tcx.region_maps.record_cleanup_scope(guard.id); } } @@ -300,7 +300,7 @@ fn visit_expr(expr: @ast::expr, (rcx, v): (@mut Rcx, rvt)) { // Check any autoderefs or autorefs that appear. { let r = rcx.fcx.inh.adjustments.find(&expr.id); - foreach &adjustment in r.iter() { + for &adjustment in r.iter() { debug!("adjustment=%?", adjustment); match *adjustment { @ty::AutoDerefRef( @@ -308,7 +308,7 @@ fn visit_expr(expr: @ast::expr, (rcx, v): (@mut Rcx, rvt)) { { let expr_ty = rcx.resolve_node_type(expr.id); constrain_derefs(rcx, expr, autoderefs, expr_ty); - foreach autoref in opt_autoref.iter() { + for autoref in opt_autoref.iter() { guarantor::for_autoref(rcx, expr, autoderefs, autoref); // Require that the resulting region encompasses @@ -556,7 +556,7 @@ fn constrain_call(rcx: @mut Rcx, let callee_scope = call_expr.id; let callee_region = ty::re_scope(callee_scope); - foreach &arg_expr in arg_exprs.iter() { + for &arg_expr in arg_exprs.iter() { // ensure that any regions appearing in the argument type are // valid for at least the lifetime of the function: constrain_regions_in_type_of_node( @@ -573,7 +573,7 @@ fn constrain_call(rcx: @mut Rcx, } // as loop above, but for receiver - foreach &r in receiver.iter() { + for &r in receiver.iter() { constrain_regions_in_type_of_node( rcx, r.id, callee_region, infer::CallRcvr(r.span)); if implicitly_ref_args { @@ -601,7 +601,7 @@ fn constrain_derefs(rcx: @mut Rcx, */ let tcx = rcx.fcx.tcx(); let r_deref_expr = ty::re_scope(deref_expr.id); - foreach i in range(0u, derefs) { + for i in range(0u, derefs) { debug!("constrain_derefs(deref_expr=?, derefd_ty=%s, derefs=%?/%?", rcx.fcx.infcx().ty_to_str(derefd_ty), i, derefs); @@ -669,7 +669,7 @@ fn constrain_free_variables(rcx: @mut Rcx, let tcx = rcx.fcx.ccx.tcx; debug!("constrain_free_variables(%s, %s)", region.repr(tcx), expr.repr(tcx)); - foreach freevar in get_freevars(tcx, expr.id).iter() { + for freevar in get_freevars(tcx, expr.id).iter() { debug!("freevar def is %?", freevar.def); let def = freevar.def; let en_region = encl_region_of_def(rcx.fcx, def); @@ -834,8 +834,8 @@ pub mod guarantor { debug!("regionck::for_match()"); let discr_guarantor = guarantor(rcx, discr); debug!("discr_guarantor=%s", discr_guarantor.repr(rcx.tcx())); - foreach arm in arms.iter() { - foreach pat in arm.pats.iter() { + for arm in arms.iter() { + for pat in arm.pats.iter() { link_ref_bindings_in_pat(rcx, *pat, discr_guarantor); } } @@ -885,7 +885,7 @@ pub mod guarantor { sub_region: ty::Region, sup_region: Option) { - foreach r in sup_region.iter() { + for r in sup_region.iter() { rcx.fcx.mk_subr(true, infer::Reborrow(expr.span), sub_region, *r); } @@ -908,7 +908,7 @@ pub mod guarantor { debug!("guarantor::for_by_ref(expr=%?, callee_scope=%?) category=%?", expr.id, callee_scope, expr_cat); let minimum_lifetime = ty::re_scope(callee_scope); - foreach guarantor in expr_cat.guarantor.iter() { + for guarantor in expr_cat.guarantor.iter() { mk_subregion_due_to_derefence(rcx, expr.span, minimum_lifetime, *guarantor); } @@ -1131,7 +1131,7 @@ pub mod guarantor { return ct; } - foreach _ in range(0u, autoderefs) { + for _ in range(0u, autoderefs) { ct.cat.guarantor = guarantor_of_deref(&ct.cat); match ty::deref(tcx, ct.ty, true) { @@ -1214,12 +1214,12 @@ pub mod guarantor { ast::pat_ident(ast::bind_by_ref(_), _, opt_p) => { link(rcx, pat.span, pat.id, guarantor); - foreach p in opt_p.iter() { + for p in opt_p.iter() { link_ref_bindings_in_pat(rcx, *p, guarantor); } } ast::pat_ident(_, _, opt_p) => { - foreach p in opt_p.iter() { + for p in opt_p.iter() { link_ref_bindings_in_pat(rcx, *p, guarantor); } } @@ -1228,7 +1228,7 @@ pub mod guarantor { link_ref_bindings_in_pats(rcx, pats, guarantor); } ast::pat_struct(_, ref fpats, _) => { - foreach fpat in fpats.iter() { + for fpat in fpats.iter() { link_ref_bindings_in_pat(rcx, fpat.pat, guarantor); } } @@ -1258,7 +1258,7 @@ pub mod guarantor { }; link_ref_bindings_in_pats(rcx, before, guarantor1); - foreach &p in slice.iter() { + for &p in slice.iter() { link_ref_bindings_in_pat(rcx, p, guarantor); } link_ref_bindings_in_pats(rcx, after, guarantor1); @@ -1269,7 +1269,7 @@ pub mod guarantor { fn link_ref_bindings_in_pats(rcx: @mut Rcx, pats: &~[@ast::pat], guarantor: Option) { - foreach pat in pats.iter() { + for pat in pats.iter() { link_ref_bindings_in_pat(rcx, *pat, guarantor); } } diff --git a/src/librustc/middle/typeck/check/regionmanip.rs b/src/librustc/middle/typeck/check/regionmanip.rs index cefe0045cb0..2685055bd84 100644 --- a/src/librustc/middle/typeck/check/regionmanip.rs +++ b/src/librustc/middle/typeck/check/regionmanip.rs @@ -32,11 +32,11 @@ pub fn replace_bound_regions_in_fn_sig( { let mut all_tys = ty::tys_in_fn_sig(fn_sig); - foreach &self_ty in opt_self_ty.iter() { + for &self_ty in opt_self_ty.iter() { all_tys.push(self_ty); } - foreach &t in opt_self_ty.iter() { all_tys.push(t) } + for &t in opt_self_ty.iter() { all_tys.push(t) } debug!("replace_bound_regions_in_fn_sig(self_ty=%?, fn_sig=%s, \ all_tys=%?)", @@ -199,7 +199,7 @@ pub fn relate_nested_regions( */ let mut the_stack = ~[]; - foreach &r in opt_region.iter() { the_stack.push(r); } + for &r in opt_region.iter() { the_stack.push(r); } walk_ty(tcx, &mut the_stack, ty, relate_op); fn walk_ty(tcx: ty::ctxt, @@ -230,7 +230,7 @@ pub fn relate_nested_regions( r_sub: ty::Region, relate_op: &fn(ty::Region, ty::Region)) { - foreach &r in the_stack.iter() { + for &r in the_stack.iter() { if !r.is_bound() && !r_sub.is_bound() { relate_op(r, r_sub); } @@ -258,14 +258,14 @@ pub fn relate_free_regions( debug!("relate_free_regions >>"); let mut all_tys = ~[]; - foreach arg in fn_sig.inputs.iter() { + for arg in fn_sig.inputs.iter() { all_tys.push(*arg); } - foreach &t in self_ty.iter() { + for &t in self_ty.iter() { all_tys.push(t); } - foreach &t in all_tys.iter() { + for &t in all_tys.iter() { debug!("relate_free_regions(t=%s)", ppaux::ty_to_str(tcx, t)); relate_nested_regions(tcx, None, t, |a, b| { match (&a, &b) { diff --git a/src/librustc/middle/typeck/check/vtable.rs b/src/librustc/middle/typeck/check/vtable.rs index 0e50021c82c..abb97f0d1c7 100644 --- a/src/librustc/middle/typeck/check/vtable.rs +++ b/src/librustc/middle/typeck/check/vtable.rs @@ -327,7 +327,7 @@ fn search_for_vtable(vcx: &VtableContext, let impls = tcx.trait_impls.find(&trait_ref.def_id) .map_default(@mut ~[], |x| **x); // impls is the list of all impls in scope for trait_ref. - foreach im in impls.iter() { + for im in impls.iter() { // im is one specific impl of trait_ref. // First, ensure we haven't processed this impl yet. diff --git a/src/librustc/middle/typeck/check/writeback.rs b/src/librustc/middle/typeck/check/writeback.rs index b30eb67916d..e62f562d9b3 100644 --- a/src/librustc/middle/typeck/check/writeback.rs +++ b/src/librustc/middle/typeck/check/writeback.rs @@ -66,7 +66,7 @@ fn resolve_method_map_entry(fcx: @mut FnCtxt, sp: span, id: ast::NodeId) { Some(mme) => { { let r = resolve_type_vars_in_type(fcx, sp, mme.self_ty); - foreach t in r.iter() { + for t in r.iter() { let method_map = fcx.ccx.method_map; let new_entry = method_map_entry { self_ty: *t, ..*mme }; debug!("writeback::resolve_method_map_entry(id=%?, \ @@ -181,7 +181,7 @@ fn resolve_type_vars_for_node(wbcx: @mut WbCtxt, sp: span, id: ast::NodeId) let mut ret = Some(t); do fcx.opt_node_ty_substs(id) |substs| { let mut new_tps = ~[]; - foreach subst in substs.tps.iter() { + for subst in substs.tps.iter() { match resolve_type_vars_in_type(fcx, sp, *subst) { Some(t) => new_tps.push(t), None => { wbcx.success = false; ret = None; break } @@ -232,7 +232,7 @@ fn visit_expr(e: @ast::expr, (wbcx, v): (@mut WbCtxt, wb_vt)) { resolve_method_map_entry(wbcx.fcx, e.span, e.id); { let r = e.get_callee_id(); - foreach callee_id in r.iter() { + for callee_id in r.iter() { resolve_method_map_entry(wbcx.fcx, e.span, *callee_id); } } @@ -240,14 +240,14 @@ fn visit_expr(e: @ast::expr, (wbcx, v): (@mut WbCtxt, wb_vt)) { resolve_vtable_map_entry(wbcx.fcx, e.span, e.id); { let r = e.get_callee_id(); - foreach callee_id in r.iter() { + for callee_id in r.iter() { resolve_vtable_map_entry(wbcx.fcx, e.span, *callee_id); } } match e.node { ast::expr_fn_block(ref decl, _) => { - foreach input in decl.inputs.iter() { + for input in decl.inputs.iter() { let _ = resolve_type_vars_for_node(wbcx, e.span, input.id); } } @@ -343,12 +343,12 @@ pub fn resolve_type_vars_in_fn(fcx: @mut FnCtxt, let wbcx = @mut WbCtxt { fcx: fcx, success: true }; let visit = mk_visitor(); (visit.visit_block)(blk, (wbcx, visit)); - foreach self_info in self_info.iter() { + for self_info in self_info.iter() { resolve_type_vars_for_node(wbcx, self_info.span, self_info.self_id); } - foreach arg in decl.inputs.iter() { + for arg in decl.inputs.iter() { (visit.visit_pat)(arg.pat, (wbcx, visit)); // Privacy needs the type for the whole pattern, not just each binding if !pat_util::pat_is_binding(fcx.tcx().def_map, arg.pat) { diff --git a/src/librustc/middle/typeck/coherence.rs b/src/librustc/middle/typeck/coherence.rs index 4af54cef716..baf0f2f209a 100644 --- a/src/librustc/middle/typeck/coherence.rs +++ b/src/librustc/middle/typeck/coherence.rs @@ -242,7 +242,7 @@ impl CoherenceChecker { let implementation = self.create_impl_from_item(item); - foreach associated_trait in associated_traits.iter() { + for associated_trait in associated_traits.iter() { let trait_ref = ty::node_id_to_trait_ref( self.crate_context.tcx, associated_trait.ref_id); debug!("(checking implementation) adding impl for trait '%s', item '%s'", @@ -289,7 +289,7 @@ impl CoherenceChecker { let impl_poly_type = ty::lookup_item_type(tcx, impl_id); let provided = ty::provided_trait_methods(tcx, trait_ref.def_id); - foreach trait_method in provided.iter() { + for trait_method in provided.iter() { // Synthesize an ID. let new_id = parse::next_node_id(tcx.sess.parse_sess); let new_did = local_def(new_id); @@ -409,7 +409,7 @@ impl CoherenceChecker { pub fn iter_impls_of_trait(&self, trait_def_id: def_id, f: &fn(@Impl)) { match self.crate_context.tcx.trait_impls.find(&trait_def_id) { Some(impls) => { - foreach &im in impls.iter() { + for &im in impls.iter() { f(im); } } @@ -551,12 +551,12 @@ impl CoherenceChecker { let mut provided_names = HashSet::new(); // Implemented methods - foreach i in range(0u, all_methods.len()) { + for i in range(0u, all_methods.len()) { provided_names.insert(all_methods[i].ident); } let r = ty::trait_methods(tcx, trait_did); - foreach method in r.iter() { + for method in r.iter() { debug!("checking for %s", method.ident.repr(tcx)); if provided_names.contains(&method.ident) { loop; } @@ -612,11 +612,11 @@ impl CoherenceChecker { match item.node { item_impl(_, ref trait_refs, _, ref ast_methods) => { let mut methods = ~[]; - foreach ast_method in ast_methods.iter() { + for ast_method in ast_methods.iter() { methods.push(ty::method(tcx, local_def(ast_method.id))); } - foreach trait_ref in trait_refs.iter() { + for trait_ref in trait_refs.iter() { let ty_trait_ref = ty::node_id_to_trait_ref( self.crate_context.tcx, trait_ref.ref_id); @@ -698,14 +698,14 @@ impl CoherenceChecker { } // Record all the trait methods. - foreach trait_ref in associated_traits.iter() { + for trait_ref in associated_traits.iter() { self.add_trait_impl(trait_ref.def_id, implementation); } // For any methods that use a default implementation, add them to // the map. This is a bit unfortunate. - foreach method in implementation.methods.iter() { - foreach source in method.provided_source.iter() { + for method in implementation.methods.iter() { + for source in method.provided_source.iter() { tcx.provided_method_sources.insert(method.def_id, *source); } } @@ -768,7 +768,7 @@ impl CoherenceChecker { Some(found_impls) => impls = found_impls } - foreach impl_info in impls.iter() { + for impl_info in impls.iter() { if impl_info.methods.len() < 1 { // We'll error out later. For now, just don't ICE. loop; diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs index e03983636a0..2bef2c08bb2 100644 --- a/src/librustc/middle/typeck/collect.rs +++ b/src/librustc/middle/typeck/collect.rs @@ -143,7 +143,7 @@ pub fn get_enum_variant_types(ccx: &CrateCtxt, let tcx = ccx.tcx; // Create a set of parameter types shared among all the variants. - foreach variant in variants.iter() { + for variant in variants.iter() { let region_parameterization = RegionParameterization::from_variance_and_generics(rp, generics); @@ -208,7 +208,7 @@ pub fn ensure_trait_methods(ccx: &CrateCtxt, // For each method, construct a suitable ty::Method and // store it into the `tcx.methods` table: - foreach m in ms.iter() { + for m in ms.iter() { let ty_method = @match m { &ast::required(ref m) => { ty_method_of_trait_method( @@ -395,7 +395,7 @@ pub fn ensure_supertraits(ccx: &CrateCtxt, let self_ty = ty::mk_self(ccx.tcx, local_def(id)); let mut ty_trait_refs: ~[@ty::TraitRef] = ~[]; - foreach ast_trait_ref in ast_trait_refs.iter() { + for ast_trait_ref in ast_trait_refs.iter() { let trait_ref = instantiate_trait_ref(ccx, ast_trait_ref, rp, generics, self_ty); @@ -494,7 +494,7 @@ pub fn compare_impl_method(tcx: ty::ctxt, return; } - foreach (i, trait_param_def) in trait_m.generics.type_param_defs.iter().enumerate() { + for (i, trait_param_def) in trait_m.generics.type_param_defs.iter().enumerate() { // For each of the corresponding impl ty param's bounds... let impl_param_def = &impl_m.generics.type_param_defs[i]; @@ -558,10 +558,10 @@ pub fn compare_impl_method(tcx: ty::ctxt, // For both the trait and the impl, create an argument to // represent the self argument (unless this is a static method). // This argument will have the *transformed* self type. - foreach &t in trait_m.transformed_self_ty.iter() { + for &t in trait_m.transformed_self_ty.iter() { trait_fn_args.push(t); } - foreach &t in impl_m.transformed_self_ty.iter() { + for &t in impl_m.transformed_self_ty.iter() { impl_fn_args.push(t); } @@ -674,7 +674,7 @@ pub fn check_methods_against_trait(ccx: &CrateCtxt, // Trait methods we don't implement must be default methods, but if not // we'll catch it in coherence let trait_ms = ty::trait_methods(tcx, trait_ref.def_id); - foreach impl_m in impl_ms.iter() { + for impl_m in impl_ms.iter() { match trait_ms.iter().find_(|trait_m| trait_m.ident == impl_m.mty.ident) { Some(trait_m) => { let num_impl_tps = generics.ty_params.len(); @@ -805,7 +805,7 @@ pub fn ensure_no_ty_param_bounds(ccx: &CrateCtxt, span: span, generics: &ast::Generics, thing: &'static str) { - foreach ty_param in generics.ty_params.iter() { + for ty_param in generics.ty_params.iter() { if ty_param.bounds.len() > 0 { ccx.tcx.sess.span_err( span, @@ -858,7 +858,7 @@ pub fn convert(ccx: &CrateCtxt, it: &ast::item) { let cms = convert_methods(ccx, it.id, *ms, selfty, &i_ty_generics, generics, parent_visibility); - foreach t in opt_trait_ref.iter() { + for t in opt_trait_ref.iter() { check_methods_against_trait(ccx, generics, rp, selfty, t, cms); } } @@ -912,7 +912,7 @@ pub fn convert_struct(ccx: &CrateCtxt, let tcx = ccx.tcx; // Write the type of each of the members - foreach f in struct_def.fields.iter() { + for f in struct_def.fields.iter() { convert_field(ccx, rp, tpt.generics.type_param_defs, *f, generics); } let (_, substs) = mk_item_substs(ccx, generics, rp, None); @@ -1203,7 +1203,7 @@ pub fn ty_generics(ccx: &CrateCtxt, builtin_bounds: ty::EmptyBuiltinBounds(), trait_bounds: ~[] }; - foreach ast_bound in ast_bounds.iter() { + for ast_bound in ast_bounds.iter() { match *ast_bound { TraitTyParamBound(ref b) => { let ty = ty::mk_param(ccx.tcx, param_ty.idx, param_ty.def_id); diff --git a/src/librustc/middle/typeck/infer/error_reporting.rs b/src/librustc/middle/typeck/infer/error_reporting.rs index a59db0bfd9e..1b325dd8a4b 100644 --- a/src/librustc/middle/typeck/infer/error_reporting.rs +++ b/src/librustc/middle/typeck/infer/error_reporting.rs @@ -114,7 +114,7 @@ pub trait ErrorReporting { impl ErrorReporting for InferCtxt { pub fn report_region_errors(@mut self, errors: &OptVec) { - foreach error in errors.iter() { + for error in errors.iter() { match *error { ConcreteFailure(origin, sub, sup) => { self.report_concrete_failure(origin, sub, sup); diff --git a/src/librustc/middle/typeck/infer/glb.rs b/src/librustc/middle/typeck/infer/glb.rs index 9a4a8ca11dc..b9a62acd0bd 100644 --- a/src/librustc/middle/typeck/infer/glb.rs +++ b/src/librustc/middle/typeck/infer/glb.rs @@ -219,7 +219,7 @@ impl Combine for Glb { let mut a_r = None; let mut b_r = None; let mut only_new_vars = true; - foreach r in tainted.iter() { + for r in tainted.iter() { if is_var_in_set(a_vars, *r) { if a_r.is_some() { return fresh_bound_variable(this); diff --git a/src/librustc/middle/typeck/infer/mod.rs b/src/librustc/middle/typeck/infer/mod.rs index e487ca03c86..854ee835cc7 100644 --- a/src/librustc/middle/typeck/infer/mod.rs +++ b/src/librustc/middle/typeck/infer/mod.rs @@ -730,7 +730,7 @@ impl InferCtxt { fmt!("%s%s", mk_msg(Some(self.ty_to_str(e)), actual_ty), error_str)); } } - foreach err in err.iter() { + for err in err.iter() { ty::note_and_explain_type_err(self.tcx, *err) } } diff --git a/src/librustc/middle/typeck/infer/region_inference/mod.rs b/src/librustc/middle/typeck/infer/region_inference/mod.rs index 07fd66640b5..63503f3e6b6 100644 --- a/src/librustc/middle/typeck/infer/region_inference/mod.rs +++ b/src/librustc/middle/typeck/infer/region_inference/mod.rs @@ -374,7 +374,7 @@ impl RegionVarBindings { pub fn vars_created_since_snapshot(&mut self, snapshot: uint) -> ~[RegionVid] { do vec::build |push| { - foreach i in range(snapshot, self.undo_log.len()) { + for i in range(snapshot, self.undo_log.len()) { match self.undo_log[i] { AddVar(vid) => push(vid), _ => () @@ -916,7 +916,7 @@ impl RegionVarBindings { &self, errors: &mut OptVec) { - foreach (constraint, _) in self.constraints.iter() { + for (constraint, _) in self.constraints.iter() { let (sub, sup) = match *constraint { ConstrainVarSubVar(*) | ConstrainRegSubVar(*) | @@ -962,7 +962,7 @@ impl RegionVarBindings { let mut opt_graph = None; - foreach idx in range(0u, self.num_vars()) { + for idx in range(0u, self.num_vars()) { match var_data[idx].value { Value(_) => { /* Inference successful */ @@ -1027,12 +1027,12 @@ impl RegionVarBindings { let mut graph = graph::Graph::with_capacity(num_vars + 1, num_edges); - foreach _ in range(0u, num_vars) { + for _ in range(0u, num_vars) { graph.add_node(()); } let dummy_idx = graph.add_node(()); - foreach (constraint, _) in self.constraints.iter() { + for (constraint, _) in self.constraints.iter() { match *constraint { ConstrainVarSubVar(a_id, b_id) => { graph.add_edge(NodeIndex(a_id.to_uint()), @@ -1080,8 +1080,8 @@ impl RegionVarBindings { return; } - foreach lower_bound in lower_bounds.iter() { - foreach upper_bound in upper_bounds.iter() { + for lower_bound in lower_bounds.iter() { + for upper_bound in upper_bounds.iter() { if !self.is_subregion_of(lower_bound.region, upper_bound.region) { errors.push(SubSupConflict( @@ -1122,8 +1122,8 @@ impl RegionVarBindings { return; } - foreach upper_bound_1 in upper_bounds.iter() { - foreach upper_bound_2 in upper_bounds.iter() { + for upper_bound_1 in upper_bounds.iter() { + for upper_bound_2 in upper_bounds.iter() { match self.glb_concrete_regions(upper_bound_1.region, upper_bound_2.region) { Ok(_) => {} @@ -1243,7 +1243,7 @@ impl RegionVarBindings { changed = false; iteration += 1; debug!("---- %s Iteration #%u", tag, iteration); - foreach (constraint, _) in self.constraints.iter() { + for (constraint, _) in self.constraints.iter() { let edge_changed = body(constraint); if edge_changed { debug!("Updated due to constraint %s", diff --git a/src/librustc/middle/typeck/infer/sub.rs b/src/librustc/middle/typeck/infer/sub.rs index 975dbfb07e0..441e71d4722 100644 --- a/src/librustc/middle/typeck/infer/sub.rs +++ b/src/librustc/middle/typeck/infer/sub.rs @@ -196,7 +196,7 @@ impl Combine for Sub { do list::each(skol_isr) |pair| { let (skol_br, skol) = *pair; let tainted = self.infcx.region_vars.tainted(snapshot, skol); - foreach tainted_region in tainted.iter() { + for tainted_region in tainted.iter() { // Each skolemized should only be relatable to itself // or new variables: match *tainted_region { diff --git a/src/librustc/middle/typeck/infer/test.rs b/src/librustc/middle/typeck/infer/test.rs index b8477149430..3aeea2bcc3b 100644 --- a/src/librustc/middle/typeck/infer/test.rs +++ b/src/librustc/middle/typeck/infer/test.rs @@ -79,7 +79,7 @@ fn setup_env(test_name: &str, source_string: &str) -> Env { impl Env { pub fn create_region_hierarchy(&self, rh: &RH) { - foreach child_rh in rh.sub.iter() { + for child_rh in rh.sub.iter() { self.create_region_hierarchy(child_rh); self.tcx.region_map.insert(child_rh.id, rh.id); } @@ -109,7 +109,7 @@ impl Env { idx: uint, names: &[~str]) -> Option { assert!(idx < names.len()); - foreach item in m.items.iter() { + for item in m.items.iter() { if self.tcx.sess.str_of(item.ident) == names[idx] { return search(self, *item, idx+1, names); } @@ -227,7 +227,7 @@ impl Env { self.infcx.resolve_regions(); if self.err_messages.len() != exp_count { - foreach msg in self.err_messages.iter() { + for msg in self.err_messages.iter() { debug!("Error encountered: %s", *msg); } fmt!("Resolving regions encountered %u errors but expected %u!", diff --git a/src/librustc/middle/typeck/rscope.rs b/src/librustc/middle/typeck/rscope.rs index 16740d3ce4e..e2b25a67c3d 100644 --- a/src/librustc/middle/typeck/rscope.rs +++ b/src/librustc/middle/typeck/rscope.rs @@ -58,7 +58,7 @@ impl RegionParamNames { } fn has_ident(&self, ident: ast::ident) -> bool { - foreach region_param_name in self.iter() { + for region_param_name in self.iter() { if *region_param_name == ident { return true; } @@ -76,7 +76,7 @@ impl RegionParamNames { opt_vec::Vec(new_lifetimes.map(|lt| lt.ident))); } opt_vec::Vec(ref mut existing_lifetimes) => { - foreach new_lifetime in new_lifetimes.iter() { + for new_lifetime in new_lifetimes.iter() { existing_lifetimes.push(new_lifetime.ident); } } diff --git a/src/librustc/rustc.rs b/src/librustc/rustc.rs index a9531f33b5e..c48b30e8141 100644 --- a/src/librustc/rustc.rs +++ b/src/librustc/rustc.rs @@ -152,7 +152,7 @@ Available lint options: lint_dict.qsort(); let mut max_key = 0; - foreach &(_, name) in lint_dict.iter() { + for &(_, name) in lint_dict.iter() { max_key = num::max(name.len(), max_key); } fn padded(max: uint, s: &str) -> ~str { @@ -163,7 +163,7 @@ Available lint options: padded(max_key, "name"), "default", "meaning"); printfln!(" %s %7.7s %s\n", padded(max_key, "----"), "-------", "-------"); - foreach (spec, name) in lint_dict.consume_iter() { + for (spec, name) in lint_dict.consume_iter() { let name = name.replace("_", "-"); printfln!(" %s %7.7s %s", padded(max_key, name), @@ -176,7 +176,7 @@ Available lint options: pub fn describe_debug_flags() { printfln!("\nAvailable debug options:\n"); let r = session::debugging_opts_map(); - foreach tuple in r.iter() { + for tuple in r.iter() { match *tuple { (ref name, ref desc, _) => { printfln!(" -Z %-20s -- %s", *name, *desc); @@ -350,7 +350,7 @@ pub fn monitor(f: ~fn(diagnostic::Emitter)) { to get further details and report the results \ to github.com/mozilla/rust/issues" ]; - foreach note in xs.iter() { + for note in xs.iter() { diagnostic::emit(None, *note, diagnostic::note) } } diff --git a/src/librustc/util/ppaux.rs b/src/librustc/util/ppaux.rs index beb762c7489..8f0dd514570 100644 --- a/src/librustc/util/ppaux.rs +++ b/src/librustc/util/ppaux.rs @@ -398,7 +398,7 @@ pub fn ty_to_str(cx: ctxt, typ: t) -> ~str { } // if there is an id, print that instead of the structural type: - /*foreach def_id in ty::type_def_id(typ).iter() { + /*for def_id in ty::type_def_id(typ).iter() { // note that this typedef cannot have type parameters return ast_map::path_to_str(ty::item_path(cx, *def_id), cx.sess.intr()); @@ -484,13 +484,13 @@ pub fn parameterized(cx: ctxt, match *regions { ty::ErasedRegions => { } ty::NonerasedRegions(ref regions) => { - foreach &r in regions.iter() { + for &r in regions.iter() { strs.push(region_to_str(cx, "", false, r)) } } } - foreach t in tps.iter() { + for t in tps.iter() { strs.push(ty_to_str(cx, *t)) } @@ -598,7 +598,7 @@ impl Repr for ty::ParamBounds { }); true }; - foreach t in self.trait_bounds.iter() { + for t in self.trait_bounds.iter() { res.push(t.repr(tcx)); } res.connect("+") @@ -848,7 +848,7 @@ impl UserString for ty::TraitRef { let base = ast_map::path_to_str(path, tcx.sess.intr()); if tcx.sess.verbose() && self.substs.self_ty.is_some() { let mut all_tps = self.substs.tps.clone(); - foreach &t in self.substs.self_ty.iter() { all_tps.push(t); } + for &t in self.substs.self_ty.iter() { all_tps.push(t); } parameterized(tcx, base, &self.substs.regions, all_tps) } else { parameterized(tcx, base, &self.substs.regions, self.substs.tps) diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index 3cc243d6917..f287e17880b 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -73,7 +73,7 @@ pub fn usage() { println("Usage: rustdoc [options] \n"); println("Options:\n"); let r = opts(); - foreach opt in r.iter() { + for opt in r.iter() { printfln!(" %s", opt.second()); } println(""); diff --git a/src/librustdoc/extract.rs b/src/librustdoc/extract.rs index 3e608fc6ef8..f849cfade9b 100644 --- a/src/librustdoc/extract.rs +++ b/src/librustdoc/extract.rs @@ -142,7 +142,7 @@ fn nmoddoc_from_mod( module_: ast::foreign_mod ) -> doc::NmodDoc { let mut fns = ~[]; - foreach item in module_.items.iter() { + for item in module_.items.iter() { let ItemDoc = mk_itemdoc(item.id, to_str(item.ident)); match item.node { ast::foreign_item_fn(*) => { diff --git a/src/librustdoc/markdown_pass.rs b/src/librustdoc/markdown_pass.rs index 67fc60c4912..0dbd29df48b 100644 --- a/src/librustdoc/markdown_pass.rs +++ b/src/librustdoc/markdown_pass.rs @@ -189,7 +189,7 @@ pub fn header_name(doc: doc::ItemTag) -> ~str { }; let self_ty = doc.self_ty.get_ref(); let mut trait_part = ~""; - foreach (i, trait_type) in doc.trait_types.iter().enumerate() { + for (i, trait_type) in doc.trait_types.iter().enumerate() { if i == 0 { trait_part.push_str(" of "); } else { @@ -279,7 +279,7 @@ fn write_desc( } fn write_sections(ctxt: &Ctxt, sections: &[doc::Section]) { - foreach section in sections.iter() { + for section in sections.iter() { write_section(ctxt, (*section).clone()); } } @@ -299,7 +299,7 @@ fn write_mod_contents( write_index(ctxt, doc.index.get_ref()); } - foreach itemTag in doc.items.iter() { + for itemTag in doc.items.iter() { write_item(ctxt, (*itemTag).clone()); } } @@ -349,7 +349,7 @@ fn write_index(ctxt: &Ctxt, index: &doc::Index) { ctxt.w.put_line(~"
"); ctxt.w.put_line(~""); - foreach entry in index.entries.iter() { + for entry in index.entries.iter() { let header = header_text_(entry.kind, entry.name); let id = entry.link.clone(); if entry.brief.is_some() { @@ -370,7 +370,7 @@ fn write_nmod(ctxt: &Ctxt, doc: doc::NmodDoc) { write_index(ctxt, doc.index.get_ref()); } - foreach FnDoc in doc.fns.iter() { + for FnDoc in doc.fns.iter() { write_item_header(ctxt, doc::FnTag((*FnDoc).clone())); write_fn(ctxt, (*FnDoc).clone()); } @@ -435,7 +435,7 @@ fn write_variants( write_header_(ctxt, H4, ~"Variants"); - foreach variant in docs.iter() { + for variant in docs.iter() { write_variant(ctxt, (*variant).clone()); } @@ -474,7 +474,7 @@ fn write_trait(ctxt: &Ctxt, doc: doc::TraitDoc) { } fn write_methods(ctxt: &Ctxt, docs: &[doc::MethodDoc]) { - foreach doc in docs.iter() { + for doc in docs.iter() { write_method(ctxt, (*doc).clone()); } } diff --git a/src/librustdoc/sectionalize_pass.rs b/src/librustdoc/sectionalize_pass.rs index da73027a4ab..4cd442bb951 100644 --- a/src/librustdoc/sectionalize_pass.rs +++ b/src/librustdoc/sectionalize_pass.rs @@ -106,7 +106,7 @@ fn sectionalize(desc: Option<~str>) -> (Option<~str>, ~[doc::Section]) { let mut current_section: Option = None; let mut sections = ~[]; - foreach line in desc.get_ref().any_line_iter() { + for line in desc.get_ref().any_line_iter() { match parse_header(line) { Some(header) => { if current_section.is_some() { diff --git a/src/librusti/program.rs b/src/librusti/program.rs index 316dd09ef0a..d8a640bc19c 100644 --- a/src/librusti/program.rs +++ b/src/librusti/program.rs @@ -98,7 +98,7 @@ impl Program { code.push_str("fn main() {\n"); // It's easy to initialize things if we don't run things... - foreach (name, var) in self.local_vars.iter() { + for (name, var) in self.local_vars.iter() { let mt = var.mt(); code.push_str(fmt!("let%s %s: %s = fail!();\n", mt, *name, var.ty)); var.alter(*name, &mut code); @@ -114,7 +114,7 @@ impl Program { None => {} } - foreach p in new_locals.iter() { + for p in new_locals.iter() { code.push_str(fmt!("assert_encodable(&%s);\n", *p.first_ref())); } code.push_str("};}"); @@ -146,7 +146,7 @@ impl Program { // Using this __tls_map handle, deserialize each variable binding that // we know about - foreach (name, var) in self.local_vars.iter() { + for (name, var) in self.local_vars.iter() { let mt = var.mt(); code.push_str(fmt!("let%s %s: %s = { let data = __tls_map.get_copy(&~\"%s\"); @@ -167,13 +167,13 @@ impl Program { } let newvars = util::replace(&mut self.newvars, HashMap::new()); - foreach (name, var) in newvars.consume() { + for (name, var) in newvars.consume() { self.local_vars.insert(name, var); } // After the input code is run, we can re-serialize everything back out // into tls map (to be read later on by this task) - foreach (name, var) in self.local_vars.iter() { + for (name, var) in self.local_vars.iter() { code.push_str(fmt!("{ let local: %s = %s; let bytes = do ::std::io::with_bytes_writer |io| { @@ -202,13 +202,13 @@ impl Program { use extra::serialize::*; %s // view items ", self.externs, self.view_items); - foreach (_, s) in self.structs.iter() { + for (_, s) in self.structs.iter() { // The structs aren't really useful unless they're encodable code.push_str("#[deriving(Encodable, Decodable)]"); code.push_str(*s); code.push_str("\n"); } - foreach (_, s) in self.items.iter() { + for (_, s) in self.items.iter() { code.push_str(*s); code.push_str("\n"); } @@ -221,7 +221,7 @@ impl Program { /// program starts pub fn set_cache(&self) { let map = @mut HashMap::new(); - foreach (name, value) in self.local_vars.iter() { + for (name, value) in self.local_vars.iter() { map.insert((*name).clone(), @(value.data).clone()); } local_data::set(tls_key, map); @@ -233,7 +233,7 @@ impl Program { pub fn consume_cache(&mut self) { let map = local_data::pop(tls_key).expect("tls is empty"); let cons_map = util::replace(map, HashMap::new()); - foreach (name, value) in cons_map.consume() { + for (name, value) in cons_map.consume() { match self.local_vars.find_mut(&name) { Some(v) => { v.data = (*value).clone(); } None => { fail!("unknown variable %s", name) } @@ -345,14 +345,14 @@ impl Program { // I'm not an @ pointer, so this has to be done outside. let cons_newvars = util::replace(newvars, HashMap::new()); - foreach (k, v) in cons_newvars.consume() { + for (k, v) in cons_newvars.consume() { self.newvars.insert(k, v); } // helper functions to perform ast iteration fn each_user_local(blk: &ast::Block, f: &fn(@ast::Local)) { do find_user_block(blk) |blk| { - foreach stmt in blk.stmts.iter() { + for stmt in blk.stmts.iter() { match stmt.node { ast::stmt_decl(d, _) => { match d.node { @@ -367,7 +367,7 @@ impl Program { } fn find_user_block(blk: &ast::Block, f: &fn(&ast::Block)) { - foreach stmt in blk.stmts.iter() { + for stmt in blk.stmts.iter() { match stmt.node { ast::stmt_semi(e, _) => { match e.node { diff --git a/src/librusti/rusti.rs b/src/librusti/rusti.rs index 58732a7a96a..568a691290c 100644 --- a/src/librusti/rusti.rs +++ b/src/librusti/rusti.rs @@ -149,7 +149,7 @@ fn run(mut program: ~Program, binary: ~str, lib_search_paths: ~[~str], do find_main(crate, sess) |blk| { // Fish out all the view items, be sure to record 'extern mod' items // differently beause they must appear before all 'use' statements - foreach vi in blk.view_items.iter() { + for vi in blk.view_items.iter() { let s = do with_pp(intr) |pp, _| { pprust::print_view_item(pp, vi); }; @@ -163,7 +163,7 @@ fn run(mut program: ~Program, binary: ~str, lib_search_paths: ~[~str], // Iterate through all of the block's statements, inserting them into // the correct portions of the program - foreach stmt in blk.stmts.iter() { + for stmt in blk.stmts.iter() { let s = do with_pp(intr) |pp, _| { pprust::print_stmt(pp, *stmt); }; match stmt.node { ast::stmt_decl(d, _) => { @@ -276,7 +276,7 @@ fn run(mut program: ~Program, binary: ~str, lib_search_paths: ~[~str], fn find_main(crate: @ast::Crate, sess: session::Session, f: &fn(&ast::Block)) { - foreach item in crate.module.items.iter() { + for item in crate.module.items.iter() { match item.node { ast::item_fn(_, _, _, _, ref blk) => { if item.ident == sess.ident_of("main") { @@ -396,7 +396,7 @@ fn run_cmd(repl: &mut Repl, _in: @io::Reader, _out: @io::Writer, } ~"load" => { let mut loaded_crates: ~[~str] = ~[]; - foreach arg in args.iter() { + for arg in args.iter() { let (crate, filename) = if arg.ends_with(".rs") || arg.ends_with(".rc") { (arg.slice_to(arg.len() - 3).to_owned(), (*arg).clone()) @@ -408,7 +408,7 @@ fn run_cmd(repl: &mut Repl, _in: @io::Reader, _out: @io::Writer, None => { } } } - foreach crate in loaded_crates.iter() { + for crate in loaded_crates.iter() { let crate_path = Path(*crate); let crate_dir = crate_path.dirname(); repl.program.record_extern(fmt!("extern mod %s;", *crate)); @@ -571,7 +571,7 @@ mod tests { #[cfg(thiswillneverbeacfgflag)] fn run_program(prog: &str) { let mut r = repl(); - foreach cmd in prog.split_iter('\n') { + for cmd in prog.split_iter('\n') { assert!(run_line(&mut r, io::stdin(), io::stdout(), cmd.to_owned(), false), "the command '%s' failed", cmd); diff --git a/src/librustpkg/installed_packages.rs b/src/librustpkg/installed_packages.rs index 942e622b140..cec64f36947 100644 --- a/src/librustpkg/installed_packages.rs +++ b/src/librustpkg/installed_packages.rs @@ -15,16 +15,16 @@ use std::os; pub fn list_installed_packages(f: &fn(&PkgId) -> bool) -> bool { let workspaces = rust_path(); - foreach p in workspaces.iter() { + for p in workspaces.iter() { let binfiles = os::list_dir(&p.push("bin")); - foreach exec in binfiles.iter() { + for exec in binfiles.iter() { let exec_path = Path(*exec).filestem(); do exec_path.iter().advance |s| { f(&PkgId::new(*s, p)) }; } let libfiles = os::list_dir(&p.push("lib")); - foreach lib in libfiles.iter() { + for lib in libfiles.iter() { debug!("Full name: %s", *lib); let lib_path = Path(*lib).filestem(); do lib_path.iter().advance |s| { diff --git a/src/librustpkg/package_source.rs b/src/librustpkg/package_source.rs index 7c12645b2b2..bbe35ee5004 100644 --- a/src/librustpkg/package_source.rs +++ b/src/librustpkg/package_source.rs @@ -135,7 +135,7 @@ impl PkgSrc { return true; } else { - foreach pth in self_id.iter() { + for pth in self_id.iter() { if pth.starts_with("rust_") // because p is already normalized && match p.filestem() { Some(s) => str::eq_slice(s, pth.slice(5, pth.len())), @@ -149,7 +149,7 @@ impl PkgSrc { fn push_crate(cs: &mut ~[Crate], prefix: uint, p: &Path) { assert!(p.components.len() > prefix); let mut sub = Path(""); - foreach c in p.components.slice(prefix, p.components.len()).iter() { + for c in p.components.slice(prefix, p.components.len()).iter() { sub = sub.push(*c); } debug!("found crate %s", sub.to_str()); @@ -207,7 +207,7 @@ impl PkgSrc { crates: &[Crate], cfgs: &[~str], what: OutputType) { - foreach crate in crates.iter() { + for crate in crates.iter() { let path = &src_dir.push_rel(&crate.file).normalize(); note(fmt!("build_crates: compiling %s", path.to_str())); note(fmt!("build_crates: destination dir is %s", dst_dir.to_str())); diff --git a/src/librustpkg/path_util.rs b/src/librustpkg/path_util.rs index ef95adf8c17..fdfa29b2f83 100644 --- a/src/librustpkg/path_util.rs +++ b/src/librustpkg/path_util.rs @@ -61,7 +61,7 @@ pub fn rust_path() -> ~[Path] { // Avoid adding duplicates // could still add dups if someone puts one of these in the RUST_PATH // manually, though... - foreach hdir in h.iter() { + for hdir in h.iter() { if !(cwd.is_ancestor_of(hdir) || hdir.is_ancestor_of(&cwd)) { push_if_exists(&mut env_rust_path, hdir); } @@ -100,7 +100,7 @@ pub fn make_dir_rwx(p: &Path) -> bool { os::make_dir(p, U_RWX) } pub fn workspace_contains_package_id(pkgid: &PkgId, workspace: &Path) -> bool { let src_dir = workspace.push("src"); let dirs = os::list_dir(&src_dir); - foreach p in dirs.iter() { + for p in dirs.iter() { let p = Path((*p).clone()); debug!("=> p = %s", p.to_str()); if !os::path_is_dir(&src_dir.push_rel(&p)) { @@ -113,7 +113,7 @@ pub fn workspace_contains_package_id(pkgid: &PkgId, workspace: &Path) -> bool { } else { let pf = p.filename(); - foreach pf in pf.iter() { + for pf in pf.iter() { let f_ = (*pf).clone(); let g = f_.to_str(); match split_version_general(g, '-') { @@ -150,7 +150,7 @@ pub fn pkgid_src_in_workspace(pkgid: &PkgId, workspace: &Path) -> ~[Path] { /// Returns a src for pkgid that does exist -- None if none of them do pub fn first_pkgid_src_in_workspace(pkgid: &PkgId, workspace: &Path) -> Option { let rs = pkgid_src_in_workspace(pkgid, workspace); - foreach p in rs.iter() { + for p in rs.iter() { if os::path_exists(p) { return Some((*p).clone()); } @@ -246,7 +246,7 @@ pub fn library_in_workspace(path: &LocalPath, short_name: &str, where: Target, debug!("lib_prefix = %s and lib_filetype = %s", lib_prefix, lib_filetype); let mut result_filename = None; - foreach p in dir_contents.iter() { + for p in dir_contents.iter() { let mut which = 0; let mut hash = None; let p_path = Path((*p).clone()); @@ -261,7 +261,7 @@ pub fn library_in_workspace(path: &LocalPath, short_name: &str, where: Target, let f_name = match p_path.filename() { Some(s) => s, None => loop }; - foreach piece in f_name.split_iter('-') { + for piece in f_name.split_iter('-') { debug!("a piece = %s", piece); if which == 0 && piece != lib_prefix { break; diff --git a/src/librustpkg/rustpkg.rs b/src/librustpkg/rustpkg.rs index c86d10bc3e7..4d6033de54d 100644 --- a/src/librustpkg/rustpkg.rs +++ b/src/librustpkg/rustpkg.rs @@ -434,14 +434,14 @@ impl CtxMethods for Ctx { target_exec.to_str(), target_lib, maybe_executable, maybe_library); - foreach exec in maybe_executable.iter() { + for exec in maybe_executable.iter() { debug!("Copying: %s -> %s", exec.to_str(), target_exec.to_str()); if !(os::mkdir_recursive(&target_exec.dir_path(), U_RWX) && os::copy_file(exec, &target_exec)) { cond.raise(((*exec).clone(), target_exec.clone())); } } - foreach lib in maybe_library.iter() { + for lib in maybe_library.iter() { let target_lib = target_lib.clone().expect(fmt!("I built %s but apparently \ didn't install it!", lib.to_str())); debug!("Copying: %s -> %s", lib.to_str(), target_lib.to_str()); diff --git a/src/librustpkg/tests.rs b/src/librustpkg/tests.rs index 6b174836a68..828be5dce12 100644 --- a/src/librustpkg/tests.rs +++ b/src/librustpkg/tests.rs @@ -356,7 +356,7 @@ fn command_line_test_output(args: &[~str]) -> ~[~str] { let mut result = ~[]; let p_output = command_line_test(args, &os::getcwd()); let test_output = str::from_bytes(p_output.output); - foreach s in test_output.split_iter('\n') { + for s in test_output.split_iter('\n') { result.push(s.to_owned()); } result @@ -366,7 +366,7 @@ fn command_line_test_output_with_env(args: &[~str], env: ~[(~str, ~str)]) -> ~[~ let mut result = ~[]; let p_output = command_line_test_with_env(args, &os::getcwd(), Some(env)); let test_output = str::from_bytes(p_output.output); - foreach s in test_output.split_iter('\n') { + for s in test_output.split_iter('\n') { result.push(s.to_owned()); } result @@ -391,7 +391,7 @@ fn touch_source_file(workspace: &Path, pkgid: &PkgId) { use conditions::bad_path::cond; let pkg_src_dir = workspace.push("src").push(pkgid.to_str()); let contents = os::list_dir_path(&pkg_src_dir); - foreach p in contents.iter() { + for p in contents.iter() { if p.filetype() == Some(~".rs") { // should be able to do this w/o a process if run::process_output("touch", [p.to_str()]).status != 0 { @@ -408,7 +408,7 @@ fn frob_source_file(workspace: &Path, pkgid: &PkgId) { let pkg_src_dir = workspace.push("src").push(pkgid.to_str()); let contents = os::list_dir_path(&pkg_src_dir); let mut maybe_p = None; - foreach p in contents.iter() { + for p in contents.iter() { if p.filetype() == Some(~".rs") { maybe_p = Some(p); break; @@ -811,7 +811,7 @@ fn rust_path_contents() { assert!(p.contains(&cwd)); assert!(p.contains(&parent)); assert!(p.contains(&grandparent)); - foreach a_path in p.iter() { + for a_path in p.iter() { assert!(!a_path.components.is_empty()); } }); diff --git a/src/librustpkg/util.rs b/src/librustpkg/util.rs index 2010e1d4b79..361981289d3 100644 --- a/src/librustpkg/util.rs +++ b/src/librustpkg/util.rs @@ -104,12 +104,12 @@ fn fold_item(ctx: @mut ReadyCtx, let mut cmds = ~[]; let mut had_pkg_do = false; - foreach attr in item.attrs.iter() { + for attr in item.attrs.iter() { if "pkg_do" == attr.name() { had_pkg_do = true; match attr.node.value.node { ast::MetaList(_, ref mis) => { - foreach mi in mis.iter() { + for mi in mis.iter() { match mi.node { ast::MetaWord(cmd) => cmds.push(cmd.to_owned()), _ => {} @@ -210,7 +210,7 @@ pub fn compile_input(ctxt: &Ctx, let addl_lib_search_paths = @mut options.addl_lib_search_paths; // Make sure all the library directories actually exist, since the linker will complain // otherwise - foreach p in addl_lib_search_paths.iter() { + for p in addl_lib_search_paths.iter() { assert!(os::path_is_dir(p)); } @@ -274,7 +274,7 @@ pub fn compile_crate_from_input(input: &driver::input, debug!("Outputs are %? and output type = %?", outputs, sess.opts.output_type); debug!("additional libraries:"); - foreach lib in sess.opts.addl_lib_search_paths.iter() { + for lib in sess.opts.addl_lib_search_paths.iter() { debug!("an additional library: %s", lib.to_str()); } let analysis = driver::phase_3_run_analysis_passes(sess, crate); @@ -303,7 +303,7 @@ pub fn compile_crate(ctxt: &Ctx, pkg_id: &PkgId, what: OutputType) -> bool { debug!("compile_crate: crate=%s, dir=%s", crate.to_str(), dir.to_str()); debug!("compile_crate: short_name = %s, flags =...", pkg_id.to_str()); - foreach fl in flags.iter() { + for fl in flags.iter() { debug!("+++ %s", *fl); } compile_input(ctxt, pkg_id, crate, dir, flags, cfgs, opt, what) diff --git a/src/librustpkg/version.rs b/src/librustpkg/version.rs index d0c5c099ec4..88391850891 100644 --- a/src/librustpkg/version.rs +++ b/src/librustpkg/version.rs @@ -108,7 +108,7 @@ pub fn try_getting_local_version(local_path: &Path) -> Option { let mut output = None; let output_text = str::from_bytes(outp.output); - foreach l in output_text.line_iter() { + for l in output_text.line_iter() { if !l.is_whitespace() { output = Some(l); } @@ -142,7 +142,7 @@ pub fn try_getting_version(remote_path: &RemotePath) -> Option { ~"tag", ~"-l"]); let output_text = str::from_bytes(outp.output); debug!("Full output: ( %s ) [%?]", output_text, outp.status); - foreach l in output_text.line_iter() { + for l in output_text.line_iter() { debug!("A line of output: %s", l); if !l.is_whitespace() { output = Some(l); @@ -172,7 +172,7 @@ fn try_parsing_version(s: &str) -> Option { let s = s.trim(); debug!("Attempting to parse: %s", s); let mut parse_state = Start; - foreach c in s.iter() { + for c in s.iter() { if char::is_digit(c) { parse_state = SawDigit; } @@ -204,7 +204,7 @@ pub fn split_version<'a>(s: &'a str) -> Option<(&'a str, Version)> { pub fn split_version_general<'a>(s: &'a str, sep: char) -> Option<(&'a str, Version)> { // reject strings with multiple '#'s - foreach st in s.split_iter(sep) { + for st in s.split_iter(sep) { debug!("whole = %s part = %s", s, st); } if s.split_iter(sep).len_() > 2 { diff --git a/src/librustpkg/workspace.rs b/src/librustpkg/workspace.rs index 3417d051e62..d877b4ff489 100644 --- a/src/librustpkg/workspace.rs +++ b/src/librustpkg/workspace.rs @@ -26,7 +26,7 @@ pub fn each_pkg_parent_workspace(pkgid: &PkgId, action: &fn(&Path) -> bool) -> b pkgid.remote_path.to_str(), rust_path().to_str()); } - foreach ws in workspaces.iter() { + for ws in workspaces.iter() { if action(ws) { break; } diff --git a/src/libstd/at_vec.rs b/src/libstd/at_vec.rs index ab1dd3d45f1..4ece53d0e7f 100644 --- a/src/libstd/at_vec.rs +++ b/src/libstd/at_vec.rs @@ -91,10 +91,10 @@ pub fn build_sized_opt(size: Option, #[inline] pub fn append(lhs: @[T], rhs: &[T]) -> @[T] { do build_sized(lhs.len() + rhs.len()) |push| { - foreach x in lhs.iter() { + for x in lhs.iter() { push((*x).clone()); } - foreach i in range(0u, rhs.len()) { + for i in range(0u, rhs.len()) { push(rhs[i].clone()); } } @@ -104,7 +104,7 @@ pub fn append(lhs: @[T], rhs: &[T]) -> @[T] { /// Apply a function to each element of a vector and return the results pub fn map(v: &[T], f: &fn(x: &T) -> U) -> @[U] { do build_sized(v.len()) |push| { - foreach elem in v.iter() { + for elem in v.iter() { push(f(elem)); } } @@ -147,7 +147,7 @@ pub fn to_managed_consume(v: ~[T]) -> @[T] { let mut av = @[]; unsafe { raw::reserve(&mut av, v.len()); - foreach x in v.consume_iter() { + for x in v.consume_iter() { raw::push(&mut av, x); } av @@ -329,7 +329,7 @@ mod test { // Some code that could use that, then: fn seq_range(lo: uint, hi: uint) -> @[uint] { do build |push| { - foreach i in range(lo, hi) { + for i in range(lo, hi) { push(i); } } diff --git a/src/libstd/cmp.rs b/src/libstd/cmp.rs index abb04e637ca..43a632562b2 100644 --- a/src/libstd/cmp.rs +++ b/src/libstd/cmp.rs @@ -238,7 +238,7 @@ mod test { } let xs = [Less, Equal, Greater]; - foreach &o in xs.iter() { + for &o in xs.iter() { t(Less, o, Less); t(Equal, o, o); t(Greater, o, Greater); diff --git a/src/libstd/either.rs b/src/libstd/either.rs index d0378fa947b..6bdc45d7204 100644 --- a/src/libstd/either.rs +++ b/src/libstd/either.rs @@ -47,7 +47,7 @@ pub fn either(f_left: &fn(&T) -> V, /// Extracts from a vector of either all the left values pub fn lefts(eithers: &[Either]) -> ~[T] { do vec::build_sized(eithers.len()) |push| { - foreach elt in eithers.iter() { + for elt in eithers.iter() { match *elt { Left(ref l) => { push((*l).clone()); } _ => { /* fallthrough */ } @@ -59,7 +59,7 @@ pub fn lefts(eithers: &[Either]) -> ~[T] { /// Extracts from a vector of either all the right values pub fn rights(eithers: &[Either]) -> ~[U] { do vec::build_sized(eithers.len()) |push| { - foreach elt in eithers.iter() { + for elt in eithers.iter() { match *elt { Right(ref r) => { push((*r).clone()); } _ => { /* fallthrough */ } @@ -75,7 +75,7 @@ pub fn rights(eithers: &[Either]) -> ~[U] { pub fn partition(eithers: ~[Either]) -> (~[T], ~[U]) { let mut lefts: ~[T] = ~[]; let mut rights: ~[U] = ~[]; - foreach elt in eithers.consume_iter() { + for elt in eithers.consume_iter() { match elt { Left(l) => lefts.push(l), Right(r) => rights.push(r) diff --git a/src/libstd/hash.rs b/src/libstd/hash.rs index 5d4b9b4e3f0..c9d031ed1b1 100644 --- a/src/libstd/hash.rs +++ b/src/libstd/hash.rs @@ -385,7 +385,7 @@ impl Streaming for SipState { fn result_str(&mut self) -> ~str { let r = self.result_bytes(); let mut s = ~""; - foreach b in r.iter() { + for b in r.iter() { s.push_str(uint::to_str_radix(*b as uint, 16u)); } s @@ -487,7 +487,7 @@ mod tests { fn to_hex_str(r: &[u8, ..8]) -> ~str { let mut s = ~""; - foreach b in r.iter() { + for b in r.iter() { s.push_str(uint::to_str_radix(*b as uint, 16u)); } s diff --git a/src/libstd/hashmap.rs b/src/libstd/hashmap.rs index 4de5d316fc0..c24661bf938 100644 --- a/src/libstd/hashmap.rs +++ b/src/libstd/hashmap.rs @@ -159,7 +159,7 @@ impl HashMap { self.size = 0; // consume_rev_iter is more efficient - foreach bucket in old_buckets.consume_rev_iter() { + for bucket in old_buckets.consume_rev_iter() { self.insert_opt_bucket(bucket); } } @@ -264,7 +264,7 @@ impl Container for HashMap { impl Mutable for HashMap { /// Clear the map, removing all key-value pairs. fn clear(&mut self) { - foreach idx in range(0u, self.buckets.len()) { + for idx in range(0u, self.buckets.len()) { self.buckets[idx] = None; } self.size = 0; @@ -513,7 +513,7 @@ impl Eq for HashMap { impl Clone for HashMap { fn clone(&self) -> HashMap { let mut new_map = HashMap::with_capacity(self.len()); - foreach (key, value) in self.iter() { + for (key, value) in self.iter() { new_map.insert((*key).clone(), (*value).clone()); } new_map @@ -550,7 +550,7 @@ pub struct HashSetConsumeIterator { impl<'self, K, V> Iterator<(&'self K, &'self V)> for HashMapIterator<'self, K, V> { #[inline] fn next(&mut self) -> Option<(&'self K, &'self V)> { - foreach elt in self.iter { + for elt in self.iter { match elt { &Some(ref bucket) => return Some((&bucket.key, &bucket.value)), &None => {}, @@ -563,7 +563,7 @@ impl<'self, K, V> Iterator<(&'self K, &'self V)> for HashMapIterator<'self, K, V impl<'self, K, V> Iterator<(&'self K, &'self mut V)> for HashMapMutIterator<'self, K, V> { #[inline] fn next(&mut self) -> Option<(&'self K, &'self mut V)> { - foreach elt in self.iter { + for elt in self.iter { match elt { &Some(ref mut bucket) => return Some((&bucket.key, &mut bucket.value)), &None => {}, @@ -576,7 +576,7 @@ impl<'self, K, V> Iterator<(&'self K, &'self mut V)> for HashMapMutIterator<'sel impl Iterator<(K, V)> for HashMapConsumeIterator { #[inline] fn next(&mut self) -> Option<(K, V)> { - foreach elt in self.iter { + for elt in self.iter { match elt { Some(Bucket {key, value, _}) => return Some((key, value)), None => {}, @@ -589,7 +589,7 @@ impl Iterator<(K, V)> for HashMapConsumeIterator { impl<'self, K> Iterator<&'self K> for HashSetIterator<'self, K> { #[inline] fn next(&mut self) -> Option<&'self K> { - foreach elt in self.iter { + for elt in self.iter { match elt { &Some(ref bucket) => return Some(&bucket.key), &None => {}, @@ -602,7 +602,7 @@ impl<'self, K> Iterator<&'self K> for HashSetIterator<'self, K> { impl Iterator for HashSetConsumeIterator { #[inline] fn next(&mut self) -> Option { - foreach elt in self.iter { + for elt in self.iter { match elt { Some(bucket) => return Some(bucket.key), None => {}, @@ -623,7 +623,7 @@ impl> FromIterator<(K, V), T> for HashMap> Extendable<(K, V), T> for HashMap { fn extend(&mut self, iter: &mut T) { - foreach (k, v) in *iter { + for (k, v) in *iter { self.insert(k, v); } } @@ -758,7 +758,7 @@ impl> FromIterator for HashSet { impl> Extendable for HashSet { fn extend(&mut self, iter: &mut T) { - foreach k in *iter { + for k in *iter { self.insert(k); } } @@ -926,11 +926,11 @@ mod test_map { #[test] fn test_iterate() { let mut m = HashMap::with_capacity(4); - foreach i in range(0u, 32) { + for i in range(0u, 32) { assert!(m.insert(i, i*2)); } let mut observed = 0; - foreach (k, v) in m.iter() { + for (k, v) in m.iter() { assert_eq!(*v, *k * 2); observed |= (1 << *k); } @@ -1007,7 +1007,7 @@ mod test_map { let map: HashMap = xs.iter().transform(|&x| x).collect(); - foreach &(k, v) in xs.iter() { + for &(k, v) in xs.iter() { assert_eq!(map.find(&k), Some(&v)); } } @@ -1074,11 +1074,11 @@ mod test_set { #[test] fn test_iterate() { let mut a = HashSet::new(); - foreach i in range(0u, 32) { + for i in range(0u, 32) { assert!(a.insert(i)); } let mut observed = 0; - foreach k in a.iter() { + for k in a.iter() { observed |= (1 << *k); } assert_eq!(observed, 0xFFFF_FFFF); @@ -1107,7 +1107,7 @@ mod test_set { let mut i = 0; let expected = [3, 5, 11, 77]; - foreach x in a.intersection_iter(&b) { + for x in a.intersection_iter(&b) { assert!(expected.contains(x)); i += 1 } @@ -1130,7 +1130,7 @@ mod test_set { let mut i = 0; let expected = [1, 5, 11]; - foreach x in a.difference_iter(&b) { + for x in a.difference_iter(&b) { assert!(expected.contains(x)); i += 1 } @@ -1156,7 +1156,7 @@ mod test_set { let mut i = 0; let expected = [-2, 1, 5, 11, 14, 22]; - foreach x in a.symmetric_difference_iter(&b) { + for x in a.symmetric_difference_iter(&b) { assert!(expected.contains(x)); i += 1 } @@ -1186,7 +1186,7 @@ mod test_set { let mut i = 0; let expected = [-2, 1, 3, 5, 9, 11, 13, 16, 19, 24]; - foreach x in a.union_iter(&b) { + for x in a.union_iter(&b) { assert!(expected.contains(x)); i += 1 } @@ -1199,7 +1199,7 @@ mod test_set { let set: HashSet = xs.iter().transform(|&x| x).collect(); - foreach x in xs.iter() { + for x in xs.iter() { assert!(set.contains(x)); } } diff --git a/src/libstd/io.rs b/src/libstd/io.rs index 606c958b408..f750f3f3195 100644 --- a/src/libstd/io.rs +++ b/src/libstd/io.rs @@ -1281,7 +1281,7 @@ pub fn mk_file_writer(path: &Path, flags: &[FileFlag]) fn wb() -> c_int { O_WRONLY as c_int } let mut fflags: c_int = wb(); - foreach f in flags.iter() { + for f in flags.iter() { match *f { Append => fflags |= O_APPEND as c_int, Create => fflags |= O_CREAT as c_int, @@ -1940,7 +1940,7 @@ mod tests { if len <= ivals.len() { assert_eq!(res.len(), len); } - foreach (iv, c) in ivals.iter().zip(res.iter()) { + for (iv, c) in ivals.iter().zip(res.iter()) { assert!(*iv == *c as int) } } @@ -2054,7 +2054,7 @@ mod tests { // write the ints to the file { let file = io::file_writer(&path, [io::Create]).unwrap(); - foreach i in uints.iter() { + for i in uints.iter() { file.write_le_u64(*i); } } @@ -2062,7 +2062,7 @@ mod tests { // then read them back and check that they are the same { let file = io::file_reader(&path).unwrap(); - foreach i in uints.iter() { + for i in uints.iter() { assert_eq!(file.read_le_u64(), *i); } } @@ -2076,7 +2076,7 @@ mod tests { // write the ints to the file { let file = io::file_writer(&path, [io::Create]).unwrap(); - foreach i in uints.iter() { + for i in uints.iter() { file.write_be_u64(*i); } } @@ -2084,7 +2084,7 @@ mod tests { // then read them back and check that they are the same { let file = io::file_reader(&path).unwrap(); - foreach i in uints.iter() { + for i in uints.iter() { assert_eq!(file.read_be_u64(), *i); } } @@ -2098,7 +2098,7 @@ mod tests { // write the ints to the file { let file = io::file_writer(&path, [io::Create]).unwrap(); - foreach i in ints.iter() { + for i in ints.iter() { file.write_be_i32(*i); } } @@ -2106,7 +2106,7 @@ mod tests { // then read them back and check that they are the same { let file = io::file_reader(&path).unwrap(); - foreach i in ints.iter() { + for i in ints.iter() { // this tests that the sign extension is working // (comparing the values as i32 would not test this) assert_eq!(file.read_be_int_n(4), *i as i64); diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs index 3b829841484..0769aa6a764 100644 --- a/src/libstd/iterator.rs +++ b/src/libstd/iterator.rs @@ -295,7 +295,7 @@ pub trait IteratorUtil { /// let mut it = xs.iter().flat_map_(|&x| Counter::new(0u, 1).take_(x)); /// // Check that `it` has the same elements as `ys` /// let mut i = 0; - /// foreach x: uint in it { + /// for x: uint in it { /// assert_eq!(x, ys[i]); /// i += 1; /// } @@ -330,7 +330,7 @@ pub trait IteratorUtil { /// ~~~ {.rust} /// use std::iterator::Counter; /// - /// foreach i in Counter::new(0, 10) { + /// for i in Counter::new(0, 10) { /// printfln!("%d", i); /// } /// ~~~ @@ -577,7 +577,7 @@ impl> IteratorUtil for T { #[inline] fn last_(&mut self) -> Option { let mut last = None; - foreach x in *self { last = Some(x); } + for x in *self { last = Some(x); } last } @@ -600,20 +600,20 @@ impl> IteratorUtil for T { #[inline] fn all(&mut self, f: &fn(A) -> bool) -> bool { - foreach x in *self { if !f(x) { return false; } } + for x in *self { if !f(x) { return false; } } true } #[inline] fn any(&mut self, f: &fn(A) -> bool) -> bool { - foreach x in *self { if f(x) { return true; } } + for x in *self { if f(x) { return true; } } false } /// Return the first element satisfying the specified predicate #[inline] fn find_(&mut self, predicate: &fn(&A) -> bool) -> Option { - foreach x in *self { + for x in *self { if predicate(&x) { return Some(x) } } None @@ -623,7 +623,7 @@ impl> IteratorUtil for T { #[inline] fn position(&mut self, predicate: &fn(A) -> bool) -> Option { let mut i = 0; - foreach x in *self { + for x in *self { if predicate(x) { return Some(i); } @@ -635,7 +635,7 @@ impl> IteratorUtil for T { #[inline] fn count(&mut self, predicate: &fn(A) -> bool) -> uint { let mut i = 0; - foreach x in *self { + for x in *self { if predicate(x) { i += 1 } } i @@ -1024,7 +1024,7 @@ pub struct Filter<'self, A, T> { impl<'self, A, T: Iterator> Iterator for Filter<'self, A, T> { #[inline] fn next(&mut self) -> Option { - foreach x in self.iter { + for x in self.iter { if (self.predicate)(&x) { return Some(x); } else { @@ -1068,7 +1068,7 @@ pub struct FilterMap<'self, A, B, T> { impl<'self, A, B, T: Iterator> Iterator for FilterMap<'self, A, B, T> { #[inline] fn next(&mut self) -> Option { - foreach x in self.iter { + for x in self.iter { match (self.f)(x) { Some(y) => return Some(y), None => () @@ -1373,8 +1373,8 @@ impl<'self, A, T: Iterator, B, U: Iterator> Iterator for #[inline] fn next(&mut self) -> Option { loop { - foreach inner in self.frontiter.mut_iter() { - foreach x in *inner { + for inner in self.frontiter.mut_iter() { + for x in *inner { return Some(x) } } @@ -1403,7 +1403,7 @@ impl<'self, #[inline] fn next_back(&mut self) -> Option { loop { - foreach inner in self.backiter.mut_iter() { + for inner in self.backiter.mut_iter() { match inner.next_back() { None => (), y => return y @@ -1577,7 +1577,7 @@ mod tests { let expected = [0, 1, 2, 3, 4, 5, 30, 40, 50, 60]; let mut it = xs.iter().chain_(ys.iter()); let mut i = 0; - foreach &x in it { + for &x in it { assert_eq!(x, expected[i]); i += 1; } @@ -1586,7 +1586,7 @@ mod tests { let ys = Counter::new(30u, 10).take_(4); let mut it = xs.iter().transform(|&x| x).chain_(ys); let mut i = 0; - foreach x in it { + for x in it { assert_eq!(x, expected[i]); i += 1; } @@ -1604,7 +1604,7 @@ mod tests { fn test_iterator_enumerate() { let xs = [0u, 1, 2, 3, 4, 5]; let mut it = xs.iter().enumerate(); - foreach (i, &x) in it { + for (i, &x) in it { assert_eq!(i, x); } } @@ -1615,7 +1615,7 @@ mod tests { let ys = [0u, 1, 2, 3, 5, 13]; let mut it = xs.iter().take_while(|&x| *x < 15u); let mut i = 0; - foreach &x in it { + for &x in it { assert_eq!(x, ys[i]); i += 1; } @@ -1628,7 +1628,7 @@ mod tests { let ys = [15, 16, 17, 19]; let mut it = xs.iter().skip_while(|&x| *x < 15u); let mut i = 0; - foreach &x in it { + for &x in it { assert_eq!(x, ys[i]); i += 1; } @@ -1641,7 +1641,7 @@ mod tests { let ys = [13, 15, 16, 17, 19, 20, 30]; let mut it = xs.iter().skip(5); let mut i = 0; - foreach &x in it { + for &x in it { assert_eq!(x, ys[i]); i += 1; } @@ -1654,7 +1654,7 @@ mod tests { let ys = [0u, 1, 2, 3, 5]; let mut it = xs.iter().take_(5); let mut i = 0; - foreach &x in it { + for &x in it { assert_eq!(x, ys[i]); i += 1; } @@ -1673,7 +1673,7 @@ mod tests { let mut it = xs.iter().scan(0, add); let mut i = 0; - foreach x in it { + for x in it { assert_eq!(x, ys[i]); i += 1; } @@ -1686,7 +1686,7 @@ mod tests { let ys = [0u, 1, 2, 3, 4, 5, 6, 7, 8]; let mut it = xs.iter().flat_map_(|&x| Counter::new(x, 1).take_(3)); let mut i = 0; - foreach x in it { + for x in it { assert_eq!(x, ys[i]); i += 1; } @@ -1721,7 +1721,7 @@ mod tests { let mut it = Unfoldr::new(0, count); let mut i = 0; - foreach counted in it { + for counted in it { assert_eq!(counted, i); i += 1; } @@ -1733,7 +1733,7 @@ mod tests { let cycle_len = 3; let it = Counter::new(0u, 1).take_(cycle_len).cycle(); assert_eq!(it.size_hint(), (uint::max_value, None)); - foreach (i, x) in it.take_(100).enumerate() { + for (i, x) in it.take_(100).enumerate() { assert_eq!(i % cycle_len, x); } @@ -1745,7 +1745,7 @@ mod tests { #[test] fn test_iterator_nth() { let v = &[0, 1, 2, 3, 4]; - foreach i in range(0u, v.len()) { + for i in range(0u, v.len()) { assert_eq!(v.iter().nth(i).unwrap(), &v[i]); } } @@ -1959,7 +1959,7 @@ mod tests { let mut b = a.clone(); assert_eq!(len, b.indexable()); let mut n = 0; - foreach (i, elt) in a.enumerate() { + for (i, elt) in a.enumerate() { assert_eq!(Some(elt), b.idx(i)); n += 1; } @@ -2049,7 +2049,7 @@ mod tests { // test .transform and .peek_ that don't implement Clone let it = xs.iter().peek_(|_| {}); assert_eq!(xs.len(), it.indexable()); - foreach (i, elt) in xs.iter().enumerate() { + for (i, elt) in xs.iter().enumerate() { assert_eq!(Some(elt), it.idx(i)); } @@ -2062,7 +2062,7 @@ mod tests { // test .transform and .peek_ that don't implement Clone let it = xs.iter().transform(|x| *x); assert_eq!(xs.len(), it.indexable()); - foreach (i, elt) in xs.iter().enumerate() { + for (i, elt) in xs.iter().enumerate() { assert_eq!(Some(*elt), it.idx(i)); } } diff --git a/src/libstd/option.rs b/src/libstd/option.rs index 547c453b02d..417251d3740 100644 --- a/src/libstd/option.rs +++ b/src/libstd/option.rs @@ -502,7 +502,7 @@ mod tests { let x = Some(()); let mut y = Some(5); let mut y2 = 0; - foreach _x in x.iter() { + for _x in x.iter() { y2 = y.take_unwrap(); } assert_eq!(y2, 5); diff --git a/src/libstd/os.rs b/src/libstd/os.rs index f78f5812863..2d0b7d4f849 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -219,7 +219,7 @@ pub fn env() -> ~[(~str,~str)] { fn env_convert(input: ~[~str]) -> ~[(~str, ~str)] { let mut pairs = ~[]; - foreach p in input.iter() { + for p in input.iter() { let vs: ~[&str] = p.splitn_iter('=', 1).collect(); debug!("splitting: len: %u", vs.len()); @@ -1119,7 +1119,7 @@ pub fn set_exit_status(code: int) { unsafe fn load_argc_and_argv(argc: c_int, argv: **c_char) -> ~[~str] { let mut args = ~[]; - foreach i in range(0u, argc as uint) { + for i in range(0u, argc as uint) { args.push(str::raw::from_c_str(*argv.offset(i as int))); } args @@ -1168,7 +1168,7 @@ pub fn real_args() -> ~[~str] { let szArgList = unsafe { CommandLineToArgvW(lpCmdLine, lpArgCount) }; let mut args = ~[]; - foreach i in range(0u, nArgs as uint) { + for i in range(0u, nArgs as uint) { unsafe { // Determine the length of this argument. let ptr = *szArgList.offset(i as int); @@ -1425,7 +1425,7 @@ impl MemoryMap { let mut offset: off_t = 0; let len = round_up(min_len, page_size()) as size_t; - foreach &o in options.iter() { + for &o in options.iter() { match o { MapReadable => { prot |= libc::PROT_READ; }, MapWritable => { prot |= libc::PROT_WRITE; }, @@ -1498,7 +1498,7 @@ impl MemoryMap { let mut offset: uint = 0; let len = round_up(min_len, page_size()) as SIZE_T; - foreach &o in options.iter() { + for &o in options.iter() { match o { MapReadable => { readable = true; }, MapWritable => { writable = true; }, @@ -1794,7 +1794,7 @@ mod tests { fn test_env_getenv() { let e = env(); assert!(e.len() > 0u); - foreach p in e.iter() { + for p in e.iter() { let (n, v) = (*p).clone(); debug!(n.clone()); let v2 = getenv(n); @@ -1838,7 +1838,7 @@ mod tests { setenv("HOME", ""); assert!(os::homedir().is_none()); - foreach s in oldhome.iter() { setenv("HOME", *s) } + for s in oldhome.iter() { setenv("HOME", *s) } } #[test] @@ -1886,7 +1886,7 @@ mod tests { // Just assuming that we've got some contents in the current directory assert!(dirs.len() > 0u); - foreach dir in dirs.iter() { + for dir in dirs.iter() { debug!((*dir).clone()); } } diff --git a/src/libstd/path.rs b/src/libstd/path.rs index 989a5cbd35b..76001ae4188 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -647,8 +647,8 @@ impl GenericPath for PosixPath { fn push_many(&self, cs: &[S]) -> PosixPath { let mut v = self.components.clone(); - foreach e in cs.iter() { - foreach s in e.as_slice().split_iter(posix::is_sep) { + for e in cs.iter() { + for s in e.as_slice().split_iter(posix::is_sep) { if !s.is_empty() { v.push(s.to_owned()) } @@ -662,7 +662,7 @@ impl GenericPath for PosixPath { fn push(&self, s: &str) -> PosixPath { let mut v = self.components.clone(); - foreach s in s.split_iter(posix::is_sep) { + for s in s.split_iter(posix::is_sep) { if !s.is_empty() { v.push(s.to_owned()) } @@ -922,8 +922,8 @@ impl GenericPath for WindowsPath { fn push_many(&self, cs: &[S]) -> WindowsPath { let mut v = self.components.clone(); - foreach e in cs.iter() { - foreach s in e.as_slice().split_iter(windows::is_sep) { + for e in cs.iter() { + for s in e.as_slice().split_iter(windows::is_sep) { if !s.is_empty() { v.push(s.to_owned()) } @@ -940,7 +940,7 @@ impl GenericPath for WindowsPath { fn push(&self, s: &str) -> WindowsPath { let mut v = self.components.clone(); - foreach s in s.split_iter(windows::is_sep) { + for s in s.split_iter(windows::is_sep) { if !s.is_empty() { v.push(s.to_owned()) } @@ -989,7 +989,7 @@ impl GenericPath for WindowsPath { pub fn normalize(components: &[~str]) -> ~[~str] { let mut cs = ~[]; - foreach c in components.iter() { + for c in components.iter() { if *c == ~"." && components.len() > 1 { loop; } if *c == ~"" { loop; } if *c == ~".." && cs.len() != 0 { diff --git a/src/libstd/pipes.rs b/src/libstd/pipes.rs index 2819744c560..1fd534825a5 100644 --- a/src/libstd/pipes.rs +++ b/src/libstd/pipes.rs @@ -598,7 +598,7 @@ pub fn wait_many(pkts: &mut [T]) -> uint { let mut data_avail = false; let mut ready_packet = pkts.len(); - foreach (i, p) in pkts.mut_iter().enumerate() { + for (i, p) in pkts.mut_iter().enumerate() { unsafe { let p = &mut *p.header(); let old = p.mark_blocked(this); @@ -620,7 +620,7 @@ pub fn wait_many(pkts: &mut [T]) -> uint { let event = wait_event(this) as *PacketHeader; let mut pos = None; - foreach (i, p) in pkts.mut_iter().enumerate() { + for (i, p) in pkts.mut_iter().enumerate() { if p.header() == event { pos = Some(i); break; @@ -638,7 +638,7 @@ pub fn wait_many(pkts: &mut [T]) -> uint { debug!("%?", &mut pkts[ready_packet]); - foreach p in pkts.mut_iter() { + for p in pkts.mut_iter() { unsafe { (*p.header()).unblock() } @@ -849,7 +849,7 @@ pub fn select(mut endpoints: ~[RecvPacketBuffered]) Option, ~[RecvPacketBuffered]) { let mut endpoint_headers = ~[]; - foreach endpoint in endpoints.mut_iter() { + for endpoint in endpoints.mut_iter() { endpoint_headers.push(endpoint.header()); } diff --git a/src/libstd/rand.rs b/src/libstd/rand.rs index 69e1852e662..b7d72c11ff7 100644 --- a/src/libstd/rand.rs +++ b/src/libstd/rand.rs @@ -495,7 +495,7 @@ impl RngUtil for R { fn gen_char_from(&mut self, chars: &str) -> char { assert!(!chars.is_empty()); let mut cs = ~[]; - foreach c in chars.iter() { cs.push(c) } + for c in chars.iter() { cs.push(c) } self.choose(cs) } @@ -559,7 +559,7 @@ impl RngUtil for R { fn choose_weighted_option(&mut self, v: &[Weighted]) -> Option { let mut total = 0u; - foreach item in v.iter() { + for item in v.iter() { total += item.weight; } if total == 0u { @@ -567,7 +567,7 @@ impl RngUtil for R { } let chosen = self.gen_uint_range(0u, total); let mut so_far = 0u; - foreach item in v.iter() { + for item in v.iter() { so_far += item.weight; if so_far > chosen { return Some(item.item.clone()); @@ -582,8 +582,8 @@ impl RngUtil for R { */ fn weighted_vec(&mut self, v: &[Weighted]) -> ~[T] { let mut r = ~[]; - foreach item in v.iter() { - foreach _ in range(0u, item.weight) { + for item in v.iter() { + for _ in range(0u, item.weight) { r.push(item.item.clone()); } } @@ -765,7 +765,7 @@ impl IsaacRng { ); let r = [(0, MIDPOINT), (MIDPOINT, 0)]; - foreach &(mr_offset, m2_offset) in r.iter() { + for &(mr_offset, m2_offset) in r.iter() { do uint::range_step(0, MIDPOINT, 4) |base| { rngstep!(0, 13); rngstep!(1, -6); diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs index edab639dfbe..a53e3e796a7 100644 --- a/src/libstd/repr.rs +++ b/src/libstd/repr.rs @@ -176,7 +176,7 @@ impl ReprVisitor { pub fn write_escaped_slice(&self, slice: &str) { self.writer.write_char('"'); - foreach ch in slice.iter() { + for ch in slice.iter() { self.writer.write_escaped_char(ch); } self.writer.write_char('"'); diff --git a/src/libstd/result.rs b/src/libstd/result.rs index 89803d022f8..7a578465841 100644 --- a/src/libstd/result.rs +++ b/src/libstd/result.rs @@ -263,7 +263,7 @@ impl Result { pub fn map_vec(ts: &[T], op: &fn(&T) -> Result) -> Result<~[V],U> { let mut vs: ~[V] = vec::with_capacity(ts.len()); - foreach t in ts.iter() { + for t in ts.iter() { match op(t) { Ok(v) => vs.push(v), Err(u) => return Err(u) diff --git a/src/libstd/rt/args.rs b/src/libstd/rt/args.rs index e701cb64fb6..6f26e3bd9ef 100644 --- a/src/libstd/rt/args.rs +++ b/src/libstd/rt/args.rs @@ -112,7 +112,7 @@ mod imp { // Copied from `os`. unsafe fn load_argc_and_argv(argc: int, argv: **u8) -> ~[~str] { let mut args = ~[]; - foreach i in range(0u, argc as uint) { + for i in range(0u, argc as uint) { args.push(str::raw::from_c_str(*(argv as **libc::c_char).offset(i as int))); } args diff --git a/src/libstd/rt/borrowck.rs b/src/libstd/rt/borrowck.rs index bb66a901234..dcfcc3a9fc6 100644 --- a/src/libstd/rt/borrowck.rs +++ b/src/libstd/rt/borrowck.rs @@ -83,7 +83,7 @@ unsafe fn fail_borrowed(box: *mut raw::Box<()>, file: *c_char, line: size_t) { Some(borrow_list) => { // recording borrows let mut msg = ~"borrowed"; let mut sep = " at "; - foreach entry in borrow_list.rev_iter() { + for entry in borrow_list.rev_iter() { if entry.box == box { msg.push_str(sep); let filename = str::raw::from_c_str(entry.file); diff --git a/src/libstd/rt/io/net/tcp.rs b/src/libstd/rt/io/net/tcp.rs index 764ef283eb8..780aa9cb75c 100644 --- a/src/libstd/rt/io/net/tcp.rs +++ b/src/libstd/rt/io/net/tcp.rs @@ -421,7 +421,7 @@ mod test { do spawntask { let mut listener = TcpListener::bind(addr); - foreach i in range(0, MAX) { + for i in range(0, MAX) { let stream = Cell::new(listener.accept()); rtdebug!("accepted"); // Start another task to handle the connection @@ -460,7 +460,7 @@ mod test { do spawntask { let mut listener = TcpListener::bind(addr); - foreach i in range(0, MAX) { + for i in range(0, MAX) { let stream = Cell::new(listener.accept()); rtdebug!("accepted"); // Start another task to handle the connection @@ -499,7 +499,7 @@ mod test { do spawntask { let mut listener = TcpListener::bind(addr); - foreach _ in range(0, MAX) { + for _ in range(0, MAX) { let stream = Cell::new(listener.accept()); rtdebug!("accepted"); // Start another task to handle the connection @@ -537,7 +537,7 @@ mod test { do spawntask { let mut listener = TcpListener::bind(addr); - foreach _ in range(0, MAX) { + for _ in range(0, MAX) { let stream = Cell::new(listener.accept()); rtdebug!("accepted"); // Start another task to handle the connection diff --git a/src/libstd/rt/mod.rs b/src/libstd/rt/mod.rs index f0f4b646103..4cfe0efacfe 100644 --- a/src/libstd/rt/mod.rs +++ b/src/libstd/rt/mod.rs @@ -303,7 +303,7 @@ fn run_(main: ~fn(), use_main_sched: bool) -> int { let on_exit: ~fn(bool) = |exit_success| { let mut handles = handles.take(); - foreach handle in handles.mut_iter() { + for handle in handles.mut_iter() { handle.send(Shutdown); } @@ -379,7 +379,7 @@ fn run_(main: ~fn(), use_main_sched: bool) -> int { rtdebug!("waiting for threads"); // Wait for schedulers - foreach thread in threads.consume_iter() { + for thread in threads.consume_iter() { thread.join(); } diff --git a/src/libstd/rt/sched.rs b/src/libstd/rt/sched.rs index dfe003253c2..18cfeade157 100644 --- a/src/libstd/rt/sched.rs +++ b/src/libstd/rt/sched.rs @@ -761,7 +761,7 @@ mod test { let mut task_run_count = 0; let task_run_count_ptr: *mut uint = &mut task_run_count; do run_in_newsched_task || { - foreach _ in range(0u, total) { + for _ in range(0u, total) { do spawntask || { unsafe { *task_run_count_ptr = *task_run_count_ptr + 1}; } @@ -960,7 +960,7 @@ mod test { #[test] fn test_stress_schedule_task_states() { let n = stress_factor() * 120; - foreach _ in range(0, n as int) { + for _ in range(0, n as int) { test_schedule_home_states(); } } diff --git a/src/libstd/rt/select.rs b/src/libstd/rt/select.rs index a5adb25b526..006b777b71b 100644 --- a/src/libstd/rt/select.rs +++ b/src/libstd/rt/select.rs @@ -37,7 +37,7 @@ pub fn select(ports: &mut [A]) -> uint { fail!("can't select on an empty list"); } - foreach (index, port) in ports.mut_iter().enumerate() { + for (index, port) in ports.mut_iter().enumerate() { if port.optimistic_check() { return index; } @@ -53,7 +53,7 @@ pub fn select(ports: &mut [A]) -> uint { do sched.deschedule_running_task_and_then |sched, task| { let task_handles = task.make_selectable(ports.len()); - foreach (index, (port, task_handle)) in + for (index, (port, task_handle)) in ports.mut_iter().zip(task_handles.consume_iter()).enumerate() { // If one of the ports has data by now, it will wake the handle. if port.block_on(sched, task_handle) { @@ -66,7 +66,7 @@ pub fn select(ports: &mut [A]) -> uint { // Task resumes. Now unblock ourselves from all the ports we blocked on. // If the success index wasn't reset, 'take' will just take all of them. // Iterate in reverse so the 'earliest' index that's ready gets returned. - foreach (index, port) in ports.mut_slice(0, ready_index).mut_rev_iter().enumerate() { + for (index, port) in ports.mut_slice(0, ready_index).mut_rev_iter().enumerate() { if port.unblock_from() { ready_index = index; } @@ -128,7 +128,7 @@ mod test { let (ports, chans) = unzip(from_fn(num_ports, |_| oneshot::<()>())); let mut dead_chans = ~[]; let mut ports = ports; - foreach (i, chan) in chans.consume_iter().enumerate() { + for (i, chan) in chans.consume_iter().enumerate() { if send_on_chans.contains(&i) { chan.send(()); } else { @@ -145,7 +145,7 @@ mod test { let (ports, chans) = unzip(from_fn(num_ports, |_| stream::<()>())); let mut dead_chans = ~[]; let mut ports = ports; - foreach (i, chan) in chans.consume_iter().enumerate() { + for (i, chan) in chans.consume_iter().enumerate() { if send_on_chans.contains(&i) { chan.send(()); } else { @@ -192,7 +192,7 @@ mod test { let mut ports = ports; let mut port = Some(port); let order = [5u,0,4,3,2,6,9,8,7,1]; - foreach &index in order.iter() { + for &index in order.iter() { // put the port in the vector at any index util::swap(port.get_mut_ref(), &mut ports[index]); assert!(select(ports) == index); @@ -272,7 +272,7 @@ mod test { let send_on_chans = send_on_chans.clone(); do task::spawn { let mut ports = ~[]; - foreach i in range(0u, NUM_CHANS) { + for i in range(0u, NUM_CHANS) { let (p,c) = oneshot(); ports.push(p); if send_on_chans.contains(&i) { diff --git a/src/libstd/rt/test.rs b/src/libstd/rt/test.rs index 66ae085b1a0..2d45b1cd139 100644 --- a/src/libstd/rt/test.rs +++ b/src/libstd/rt/test.rs @@ -169,7 +169,7 @@ pub fn run_in_mt_newsched_task(f: ~fn()) { let mut handles = ~[]; let mut scheds = ~[]; - foreach _ in range(0u, nthreads) { + for _ in range(0u, nthreads) { let loop_ = ~UvEventLoop::new(); let mut sched = ~Scheduler::new(loop_, work_queue.clone(), @@ -184,7 +184,7 @@ pub fn run_in_mt_newsched_task(f: ~fn()) { let on_exit: ~fn(bool) = |exit_status| { let mut handles = handles.take(); // Tell schedulers to exit - foreach handle in handles.mut_iter() { + for handle in handles.mut_iter() { handle.send(Shutdown); } @@ -223,7 +223,7 @@ pub fn run_in_mt_newsched_task(f: ~fn()) { } // Wait for schedulers - foreach thread in threads.consume_iter() { + for thread in threads.consume_iter() { thread.join(); } } @@ -346,7 +346,7 @@ fn base_port() -> uint { let mut final_base = base; - foreach &(dir, base) in bases.iter() { + for &(dir, base) in bases.iter() { if path.contains(dir) { final_base = base; break; diff --git a/src/libstd/rt/tube.rs b/src/libstd/rt/tube.rs index c014d0abda2..247893f75de 100644 --- a/src/libstd/rt/tube.rs +++ b/src/libstd/rt/tube.rs @@ -166,7 +166,7 @@ mod test { sched.enqueue_blocked_task(task); } - foreach i in range(0, MAX) { + for i in range(0, MAX) { let j = tube.recv(); assert!(j == i); } diff --git a/src/libstd/rt/uv/net.rs b/src/libstd/rt/uv/net.rs index 773adb3848a..5ac9f52f335 100644 --- a/src/libstd/rt/uv/net.rs +++ b/src/libstd/rt/uv/net.rs @@ -701,7 +701,7 @@ mod test { if status.is_none() { rtdebug!("got %d bytes", nread); let buf = buf.unwrap(); - foreach byte in buf.slice(0, nread as uint).iter() { + for byte in buf.slice(0, nread as uint).iter() { assert!(*byte == count as u8); rtdebug!("%u", *byte as uint); count += 1; @@ -777,7 +777,7 @@ mod test { rtdebug!("got %d bytes", nread); let buf = buf.unwrap(); let r = buf.slice(0, nread as uint); - foreach byte in r.iter() { + for byte in r.iter() { assert!(*byte == count as u8); rtdebug!("%u", *byte as uint); count += 1; @@ -848,7 +848,7 @@ mod test { rtdebug!("got %d bytes", nread); let buf = buf.unwrap(); - foreach &byte in buf.slice(0, nread as uint).iter() { + for &byte in buf.slice(0, nread as uint).iter() { assert!(byte == count as u8); rtdebug!("%u", byte as uint); count += 1; @@ -908,7 +908,7 @@ mod test { rtdebug!("got %d bytes", nread); let buf = buf.unwrap(); - foreach &byte in buf.slice(0, nread as uint).iter() { + for &byte in buf.slice(0, nread as uint).iter() { assert!(byte == count as u8); rtdebug!("%u", byte as uint); count += 1; diff --git a/src/libstd/rt/uv/uvio.rs b/src/libstd/rt/uv/uvio.rs index e15e3adb8c9..5c17aea9341 100644 --- a/src/libstd/rt/uv/uvio.rs +++ b/src/libstd/rt/uv/uvio.rs @@ -843,7 +843,7 @@ fn test_simple_tcp_server_and_client() { let mut buf = [0, .. 2048]; let nread = stream.read(buf).unwrap(); assert_eq!(nread, 8); - foreach i in range(0u, nread) { + for i in range(0u, nread) { rtdebug!("%u", buf[i] as uint); assert_eq!(buf[i], i as u8); } @@ -873,7 +873,7 @@ fn test_simple_udp_server_and_client() { let mut buf = [0, .. 2048]; let (nread,src) = server_socket.recvfrom(buf).unwrap(); assert_eq!(nread, 8); - foreach i in range(0u, nread) { + for i in range(0u, nread) { rtdebug!("%u", buf[i] as uint); assert_eq!(buf[i], i as u8); } @@ -908,7 +908,7 @@ fn test_read_and_block() { while current < expected { let nread = stream.read(buf).unwrap(); - foreach i in range(0u, nread) { + for i in range(0u, nread) { let val = buf[i] as uint; assert_eq!(val, current % 8); current += 1; @@ -973,7 +973,7 @@ fn test_read_read_read() { let nread = stream.read(buf).unwrap(); rtdebug!("read %u bytes", nread as uint); total_bytes_read += nread; - foreach i in range(0u, nread) { + for i in range(0u, nread) { assert_eq!(buf[i], 1); } } @@ -1065,7 +1065,7 @@ fn test_udp_many_read() { let (nread, src) = res.unwrap(); assert_eq!(src, server_out_addr); total_bytes_recv += nread; - foreach i in range(0u, nread) { + for i in range(0u, nread) { assert_eq!(buf[i], 1); } } diff --git a/src/libstd/run.rs b/src/libstd/run.rs index 4c67d844c7e..ef3d881c5fe 100644 --- a/src/libstd/run.rs +++ b/src/libstd/run.rs @@ -174,9 +174,9 @@ impl Process { in_fd, out_fd, err_fd); unsafe { - foreach pipe in in_pipe.iter() { libc::close(pipe.input); } - foreach pipe in out_pipe.iter() { libc::close(pipe.out); } - foreach pipe in err_pipe.iter() { libc::close(pipe.out); } + for pipe in in_pipe.iter() { libc::close(pipe.input); } + for pipe in out_pipe.iter() { libc::close(pipe.out); } + for pipe in err_pipe.iter() { libc::close(pipe.out); } } Process { @@ -321,7 +321,7 @@ impl Process { * If the child has already been finished then the exit code is returned. */ pub fn finish(&mut self) -> int { - foreach &code in self.exit_code.iter() { + for &code in self.exit_code.iter() { return code; } self.close_input(); @@ -520,7 +520,7 @@ fn spawn_process_os(prog: &str, args: &[~str], CloseHandle(si.hStdOutput); CloseHandle(si.hStdError); - foreach msg in create_err.iter() { + for msg in create_err.iter() { fail!("failure in CreateProcess: %s", *msg); } @@ -576,7 +576,7 @@ fn zeroed_process_information() -> libc::types::os::arch::extra::PROCESS_INFORMA pub fn make_command_line(prog: &str, args: &[~str]) -> ~str { let mut cmd = ~""; append_arg(&mut cmd, prog); - foreach arg in args.iter() { + for arg in args.iter() { cmd.push_char(' '); append_arg(&mut cmd, *arg); } @@ -587,7 +587,7 @@ pub fn make_command_line(prog: &str, args: &[~str]) -> ~str { if quote { cmd.push_char('"'); } - foreach i in range(0u, arg.len()) { + for i in range(0u, arg.len()) { append_char_at(cmd, arg, i); } if quote { @@ -694,7 +694,7 @@ fn with_argv(prog: &str, args: &[~str], cb: &fn(**libc::c_char) -> T) -> T { let mut argptrs = ~[prog.as_c_str(|b| b)]; let mut tmps = ~[]; - foreach arg in args.iter() { + for arg in args.iter() { let t = @(*arg).clone(); tmps.push(t); argptrs.push(t.as_c_str(|b| b)); @@ -712,7 +712,7 @@ fn with_envp(env: Option<&[(~str, ~str)]>, cb: &fn(*c_void) -> T) -> T { let mut tmps = ~[]; let mut ptrs = ~[]; - foreach pair in es.iter() { + for pair in es.iter() { // Use of match here is just to workaround limitations // in the stage0 irrefutable pattern impl. match pair { @@ -741,7 +741,7 @@ fn with_envp(env: Option<&[(~str, ~str)]>, cb: &fn(*mut c_void) -> T) -> T { match env { Some(es) => { let mut blk = ~[]; - foreach pair in es.iter() { + for pair in es.iter() { let kv = fmt!("%s=%s", pair.first(), pair.second()); blk.push_all(kv.to_bytes_with_null()); } @@ -1297,7 +1297,7 @@ mod tests { let output = str::from_bytes(prog.finish_with_output().output); let r = os::env(); - foreach &(ref k, ref v) in r.iter() { + for &(ref k, ref v) in r.iter() { // don't check windows magical empty-named variables assert!(k.is_empty() || output.contains(fmt!("%s=%s", *k, *v))); } @@ -1311,7 +1311,7 @@ mod tests { let output = str::from_bytes(prog.finish_with_output().output); let r = os::env(); - foreach &(k, v) in r.iter() { + for &(k, v) in r.iter() { // don't check android RANDOM variables if k != ~"RANDOM" { assert!(output.contains(fmt!("%s=%s", k, v)) || diff --git a/src/libstd/str.rs b/src/libstd/str.rs index c30888529be..3db0f203d81 100644 --- a/src/libstd/str.rs +++ b/src/libstd/str.rs @@ -149,7 +149,7 @@ pub fn from_char(ch: char) -> ~str { pub fn from_chars(chs: &[char]) -> ~str { let mut buf = ~""; buf.reserve(chs.len()); - foreach ch in chs.iter() { + for ch in chs.iter() { buf.push_char(*ch) } buf @@ -178,7 +178,7 @@ impl<'self, S: Str> StrVector for &'self [S] { unsafe { do s.as_mut_buf |buf, _| { let mut buf = buf; - foreach ss in self.iter() { + for ss in self.iter() { do ss.as_slice().as_imm_buf |ssbuf, sslen| { let sslen = sslen - 1; ptr::copy_memory(buf, ssbuf, sslen); @@ -211,7 +211,7 @@ impl<'self, S: Str> StrVector for &'self [S] { do sep.as_imm_buf |sepbuf, seplen| { let seplen = seplen - 1; let mut buf = cast::transmute_mut_unsafe(buf); - foreach ss in self.iter() { + for ss in self.iter() { do ss.as_slice().as_imm_buf |ssbuf, sslen| { let sslen = sslen - 1; if first { @@ -486,7 +486,7 @@ impl<'self> Iterator<&'self str> for StrSplitIterator<'self> { pub fn replace(s: &str, from: &str, to: &str) -> ~str { let mut result = ~""; let mut last_end = 0; - foreach (start, end) in s.matches_index_iter(from) { + for (start, end) in s.matches_index_iter(from) { result.push_str(unsafe{raw::slice_bytes(s, last_end, start)}); result.push_str(to); last_end = end; @@ -556,7 +556,7 @@ Section: Searching // Utility used by various searching functions fn match_at<'a,'b>(haystack: &'a str, needle: &'b str, at: uint) -> bool { let mut i = at; - foreach c in needle.byte_iter() { if haystack[i] != c { return false; } i += 1u; } + for c in needle.byte_iter() { if haystack[i] != c { return false; } i += 1u; } return true; } @@ -887,7 +887,7 @@ pub mod raw { unsafe fn push_bytes(s: &mut ~str, bytes: &[u8]) { let new_len = s.len() + bytes.len(); s.reserve_at_least(new_len); - foreach byte in bytes.iter() { push_byte(&mut *s, *byte); } + for byte in bytes.iter() { push_byte(&mut *s, *byte); } } /// Removes the last byte from a string and returns it. (Not UTF-8 safe). @@ -953,7 +953,7 @@ pub mod traits { impl<'self> TotalOrd for &'self str { #[inline] fn cmp(&self, other: & &'self str) -> Ordering { - foreach (s_b, o_b) in self.byte_iter().zip(other.byte_iter()) { + for (s_b, o_b) in self.byte_iter().zip(other.byte_iter()) { match s_b.cmp(&o_b) { Greater => return Greater, Less => return Less, @@ -1467,7 +1467,7 @@ impl<'self> StrSlice<'self> for &'self str { fn escape_default(&self) -> ~str { let mut out: ~str = ~""; out.reserve_at_least(self.len()); - foreach c in self.iter() { + for c in self.iter() { do c.escape_default |c| { out.push_char(c); } @@ -1479,7 +1479,7 @@ impl<'self> StrSlice<'self> for &'self str { fn escape_unicode(&self) -> ~str { let mut out: ~str = ~""; out.reserve_at_least(self.len()); - foreach c in self.iter() { + for c in self.iter() { do c.escape_unicode |c| { out.push_char(c); } @@ -1581,7 +1581,7 @@ impl<'self> StrSlice<'self> for &'self str { pub fn replace(&self, from: &str, to: &str) -> ~str { let mut result = ~""; let mut last_end = 0; - foreach (start, end) in self.matches_index_iter(from) { + for (start, end) in self.matches_index_iter(from) { result.push_str(unsafe{raw::slice_bytes(*self, last_end, start)}); result.push_str(to); last_end = end; @@ -1619,7 +1619,7 @@ impl<'self> StrSlice<'self> for &'self str { /// Converts to a vector of `u16` encoded as UTF-16. fn to_utf16(&self) -> ~[u16] { let mut u = ~[]; - foreach ch in self.iter() { + for ch in self.iter() { // Arithmetic with u32 literals is easier on the eyes than chars. let mut ch = ch as u32; @@ -1772,12 +1772,12 @@ impl<'self> StrSlice<'self> for &'self str { /// or `None` if there is no match fn find(&self, search: C) -> Option { if search.only_ascii() { - foreach (i, b) in self.byte_iter().enumerate() { + for (i, b) in self.byte_iter().enumerate() { if search.matches(b as char) { return Some(i) } } } else { let mut index = 0; - foreach c in self.iter() { + for c in self.iter() { if search.matches(c) { return Some(index); } index += c.len_utf8_bytes(); } @@ -1795,12 +1795,12 @@ impl<'self> StrSlice<'self> for &'self str { fn rfind(&self, search: C) -> Option { let mut index = self.len(); if search.only_ascii() { - foreach b in self.byte_rev_iter() { + for b in self.byte_rev_iter() { index -= 1; if search.matches(b as char) { return Some(index); } } } else { - foreach c in self.rev_iter() { + for c in self.rev_iter() { index -= c.len_utf8_bytes(); if search.matches(c) { return Some(index); } } @@ -1869,7 +1869,7 @@ impl<'self> StrSlice<'self> for &'self str { /// Apply a function to each character. fn map_chars(&self, ff: &fn(char) -> char) -> ~str { let mut result = with_capacity(self.len()); - foreach cc in self.iter() { + for cc in self.iter() { result.push_char(ff(cc)); } result @@ -1885,12 +1885,12 @@ impl<'self> StrSlice<'self> for &'self str { let mut dcol = vec::from_fn(tlen + 1, |x| x); - foreach (i, sc) in self.iter().enumerate() { + for (i, sc) in self.iter().enumerate() { let mut current = i; dcol[0] = current + 1; - foreach (j, tc) in t.iter().enumerate() { + for (j, tc) in t.iter().enumerate() { let next = dcol[j + 1]; @@ -1917,7 +1917,7 @@ impl<'self> StrSlice<'self> for &'self str { /// ~~~ {.rust} /// let string = "a\nb\nc"; /// let mut lines = ~[]; - /// foreach line in string.line_iter() { lines.push(line) } + /// for line in string.line_iter() { lines.push(line) } /// /// assert!(string.subslice_offset(lines[0]) == 0); // &"a" /// assert!(string.subslice_offset(lines[1]) == 2); // &"b" @@ -2252,7 +2252,7 @@ impl> Extendable for ~str { let (lower, _) = iterator.size_hint(); let reserve = lower + self.len(); self.reserve_at_least(reserve); - foreach ch in *iterator { + for ch in *iterator { self.push_char(ch) } } @@ -3068,7 +3068,7 @@ mod tests { let string = "a\nb\nc"; let mut lines = ~[]; - foreach line in string.line_iter() { lines.push(line) } + for line in string.line_iter() { lines.push(line) } assert_eq!(string.subslice_offset(lines[0]), 0); assert_eq!(string.subslice_offset(lines[1]), 2); assert_eq!(string.subslice_offset(lines[2]), 4); @@ -3172,7 +3172,7 @@ mod tests { 0xd801_u16, 0xdc95_u16, 0xd801_u16, 0xdc86_u16, 0x000a_u16 ]) ]; - foreach p in pairs.iter() { + for p in pairs.iter() { let (s, u) = (*p).clone(); assert!(s.to_utf16() == u); assert!(from_utf16(u) == s); @@ -3186,7 +3186,7 @@ mod tests { let s = ~"ศไทย中华Việt Nam"; let v = ~['ศ','ไ','ท','ย','中','华','V','i','ệ','t',' ','N','a','m']; let mut pos = 0; - foreach ch in v.iter() { + for ch in v.iter() { assert!(s.char_at(pos) == *ch); pos += from_char(*ch).len(); } @@ -3197,7 +3197,7 @@ mod tests { let s = ~"ศไทย中华Việt Nam"; let v = ~['ศ','ไ','ท','ย','中','华','V','i','ệ','t',' ','N','a','m']; let mut pos = s.len(); - foreach ch in v.rev_iter() { + for ch in v.rev_iter() { assert!(s.char_at_reverse(pos) == *ch); pos -= from_char(*ch).len(); } @@ -3289,7 +3289,7 @@ mod tests { let mut pos = 0; let mut it = s.iter(); - foreach c in it { + for c in it { assert_eq!(c, v[pos]); pos += 1; } @@ -3305,7 +3305,7 @@ mod tests { let mut pos = 0; let mut it = s.rev_iter(); - foreach c in it { + for c in it { assert_eq!(c, v[pos]); pos += 1; } @@ -3322,7 +3322,7 @@ mod tests { ]; let mut pos = 0; - foreach b in s.byte_iter() { + for b in s.byte_iter() { assert_eq!(b, v[pos]); pos += 1; } @@ -3338,7 +3338,7 @@ mod tests { ]; let mut pos = v.len(); - foreach b in s.byte_rev_iter() { + for b in s.byte_rev_iter() { pos -= 1; assert_eq!(b, v[pos]); } @@ -3354,7 +3354,7 @@ mod tests { let mut pos = 0; let mut it = s.char_offset_iter(); - foreach c in it { + for c in it { assert_eq!(c, (p[pos], v[pos])); pos += 1; } @@ -3372,7 +3372,7 @@ mod tests { let mut pos = 0; let mut it = s.char_offset_rev_iter(); - foreach c in it { + for c in it { assert_eq!(c, (p[pos], v[pos])); pos += 1; } diff --git a/src/libstd/str/ascii.rs b/src/libstd/str/ascii.rs index 3f24f98bd3d..dd730f20689 100644 --- a/src/libstd/str/ascii.rs +++ b/src/libstd/str/ascii.rs @@ -94,7 +94,7 @@ impl<'self> AsciiCast<&'self[Ascii]> for &'self [u8] { #[inline] fn is_ascii(&self) -> bool { - foreach b in self.iter() { + for b in self.iter() { if !b.is_ascii() { return false; } } true diff --git a/src/libstd/task/local_data_priv.rs b/src/libstd/task/local_data_priv.rs index 69c4bb20caf..95d3cbaf89b 100644 --- a/src/libstd/task/local_data_priv.rs +++ b/src/libstd/task/local_data_priv.rs @@ -167,7 +167,7 @@ pub unsafe fn local_pop(handle: Handle, let map = get_local_map(handle); let key_value = key_to_key_value(key); - foreach entry in map.mut_iter() { + for entry in map.mut_iter() { match *entry { Some((k, _, loan)) if k == key_value => { if loan != NoLoan { diff --git a/src/libstd/task/spawn.rs b/src/libstd/task/spawn.rs index e6f115958fd..3bf2f255f57 100644 --- a/src/libstd/task/spawn.rs +++ b/src/libstd/task/spawn.rs @@ -299,7 +299,7 @@ fn each_ancestor(list: &mut AncestorList, // safe to skip it. This will leave our TaskHandle // hanging around in the group even after it's freed, // but that's ok because, by virtue of the group being - // dead, nobody will ever kill-all (foreach) over it.) + // dead, nobody will ever kill-all (for) over it.) if nobe_is_dead { true } else { forward_blk(tg_opt) } }; /*##########################################################* @@ -357,7 +357,7 @@ impl Drop for Taskgroup { // If we are failing, the whole taskgroup needs to die. do RuntimeGlue::with_task_handle_and_failing |me, failing| { if failing { - foreach x in this.notifier.mut_iter() { + for x in this.notifier.mut_iter() { x.failed = true; } // Take everybody down with us. @@ -387,7 +387,7 @@ pub fn Taskgroup(tasks: TaskGroupArc, ancestors: AncestorList, is_main: bool, mut notifier: Option) -> Taskgroup { - foreach x in notifier.mut_iter() { + for x in notifier.mut_iter() { x.failed = false; } @@ -465,13 +465,13 @@ fn kill_taskgroup(state: TaskGroupInner, me: &TaskHandle, is_main: bool) { if newstate.is_some() { let TaskGroupData { members: members, descendants: descendants } = newstate.unwrap(); - foreach sibling in members.consume() { + for sibling in members.consume() { // Skip self - killing ourself won't do much good. if &sibling != me { RuntimeGlue::kill_task(sibling); } } - foreach child in descendants.consume() { + for child in descendants.consume() { assert!(&child != me); RuntimeGlue::kill_task(child); } diff --git a/src/libstd/to_str.rs b/src/libstd/to_str.rs index b87a1657065..4649aac08b9 100644 --- a/src/libstd/to_str.rs +++ b/src/libstd/to_str.rs @@ -56,7 +56,7 @@ impl ToStr for HashMap { fn to_str(&self) -> ~str { let mut acc = ~"{"; let mut first = true; - foreach (key, value) in self.iter() { + for (key, value) in self.iter() { if first { first = false; } @@ -77,7 +77,7 @@ impl ToStr for HashSet { fn to_str(&self) -> ~str { let mut acc = ~"{"; let mut first = true; - foreach element in self.iter() { + for element in self.iter() { if first { first = false; } @@ -126,7 +126,7 @@ impl<'self,A:ToStr> ToStr for &'self [A] { fn to_str(&self) -> ~str { let mut acc = ~"["; let mut first = true; - foreach elt in self.iter() { + for elt in self.iter() { if first { first = false; } @@ -145,7 +145,7 @@ impl ToStr for ~[A] { fn to_str(&self) -> ~str { let mut acc = ~"["; let mut first = true; - foreach elt in self.iter() { + for elt in self.iter() { if first { first = false; } @@ -164,7 +164,7 @@ impl ToStr for @[A] { fn to_str(&self) -> ~str { let mut acc = ~"["; let mut first = true; - foreach elt in self.iter() { + for elt in self.iter() { if first { first = false; } diff --git a/src/libstd/trie.rs b/src/libstd/trie.rs index 9bcf430ff90..962704172b4 100644 --- a/src/libstd/trie.rs +++ b/src/libstd/trie.rs @@ -164,7 +164,7 @@ impl> FromIterator<(uint, T), Iter> for TrieMap impl> Extendable<(uint, T), Iter> for TrieMap { fn extend(&mut self, iter: &mut Iter) { - foreach (k, v) in *iter { + for (k, v) in *iter { self.insert(k, v); } } @@ -235,7 +235,7 @@ impl> FromIterator for TrieSet { impl> Extendable for TrieSet { fn extend(&mut self, iter: &mut Iter) { - foreach elem in *iter { + for elem in *iter { self.insert(elem); } } @@ -261,7 +261,7 @@ impl TrieNode { impl TrieNode { fn each<'a>(&'a self, f: &fn(&uint, &'a T) -> bool) -> bool { - foreach idx in range(0u, self.children.len()) { + for idx in range(0u, self.children.len()) { match self.children[idx] { Internal(ref x) => if !x.each(|i,t| f(i,t)) { return false }, External(k, ref v) => if !f(&k, v) { return false }, @@ -282,7 +282,7 @@ impl TrieNode { } fn mutate_values<'a>(&'a mut self, f: &fn(&uint, &mut T) -> bool) -> bool { - foreach child in self.children.mut_iter() { + for child in self.children.mut_iter() { match *child { Internal(ref mut x) => if !x.mutate_values(|i,t| f(i,t)) { return false @@ -378,7 +378,7 @@ pub fn check_integrity(trie: &TrieNode) { let mut sum = 0; - foreach x in trie.children.iter() { + for x in trie.children.iter() { match *x { Nothing => (), Internal(ref y) => { @@ -430,7 +430,7 @@ mod test_map { true }; - foreach x in range(0u, n) { + for x in range(0u, n) { assert!(trie.contains_key(&x)); assert!(!trie.insert(x, x + 1)); check_integrity(&trie.root); @@ -555,7 +555,7 @@ mod test_map { let map: TrieMap = xs.iter().transform(|&x| x).collect(); - foreach &(k, v) in xs.iter() { + for &(k, v) in xs.iter() { assert_eq!(map.find(&k), Some(&v)); } } @@ -596,7 +596,7 @@ mod test_set { let set: TrieSet = xs.iter().transform(|&x| x).collect(); - foreach x in xs.iter() { + for x in xs.iter() { assert!(set.contains(x)); } } diff --git a/src/libstd/unstable/extfmt.rs b/src/libstd/unstable/extfmt.rs index 5417af50081..7b05515f74a 100644 --- a/src/libstd/unstable/extfmt.rs +++ b/src/libstd/unstable/extfmt.rs @@ -615,7 +615,7 @@ pub mod rt { let headsize = match head { Some(_) => 1, _ => 0 }; let uwidth : uint = match cv.width { CountImplied => { - foreach &c in head.iter() { + for &c in head.iter() { buf.push_char(c); } return buf.push_str(s); @@ -624,7 +624,7 @@ pub mod rt { }; let strlen = s.char_len() + headsize; if uwidth <= strlen { - foreach &c in head.iter() { + for &c in head.iter() { buf.push_char(c); } return buf.push_str(s); @@ -632,7 +632,7 @@ pub mod rt { let mut padchar = ' '; let diff = uwidth - strlen; if have_flag(cv.flags, flag_left_justify) { - foreach &c in head.iter() { + for &c in head.iter() { buf.push_char(c); } buf.push_str(s); @@ -666,7 +666,7 @@ pub mod rt { // instead. if signed && zero_padding { - foreach &head in head.iter() { + for &head in head.iter() { if head == '+' || head == '-' || head == ' ' { buf.push_char(head); buf.push_str(padstr); @@ -676,7 +676,7 @@ pub mod rt { } } buf.push_str(padstr); - foreach &c in head.iter() { + for &c in head.iter() { buf.push_char(c); } buf.push_str(s); diff --git a/src/libstd/unstable/sync.rs b/src/libstd/unstable/sync.rs index 88c9c6ccb3a..225ac5c92ad 100644 --- a/src/libstd/unstable/sync.rs +++ b/src/libstd/unstable/sync.rs @@ -456,13 +456,13 @@ mod tests { let total = Exclusive::new(~0); - foreach _ in range(0u, num_tasks) { + for _ in range(0u, num_tasks) { let total = total.clone(); let (port, chan) = comm::stream(); futures.push(port); do task::spawn || { - foreach _ in range(0u, count) { + for _ in range(0u, count) { do total.with |count| { **count += 1; } @@ -471,7 +471,7 @@ mod tests { } }; - foreach f in futures.iter() { f.recv() } + for f in futures.iter() { f.recv() } do total.with |total| { assert!(**total == num_tasks * count) diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index 1f6adaf040b..f037aa2b7e7 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -295,7 +295,7 @@ pub fn append_one(lhs: ~[T], x: T) -> ~[T] { */ pub fn flat_map(v: &[T], f: &fn(t: &T) -> ~[U]) -> ~[U] { let mut result = ~[]; - foreach elem in v.iter() { result.push_all_move(f(elem)); } + for elem in v.iter() { result.push_all_move(f(elem)); } result } @@ -329,7 +329,7 @@ impl<'self, T:Clone> VectorVector for &'self [~[T]] { pub fn connect_vec(&self, sep: &T) -> ~[T] { let mut r = ~[]; let mut first = true; - foreach inner in self.iter() { + for inner in self.iter() { if first { first = false; } else { r.push((*sep).clone()); } r.push_all((*inner).clone()); } @@ -347,7 +347,7 @@ impl<'self,T:Clone> VectorVector for &'self [&'self [T]] { pub fn connect_vec(&self, sep: &T) -> ~[T] { let mut r = ~[]; let mut first = true; - foreach &inner in self.iter() { + for &inner in self.iter() { if first { first = false; } else { r.push((*sep).clone()); } r.push_all(inner); } @@ -365,7 +365,7 @@ impl<'self,T:Clone> VectorVector for &'self [&'self [T]] { pub fn unzip_slice(v: &[(T, U)]) -> (~[T], ~[U]) { let mut ts = ~[]; let mut us = ~[]; - foreach p in v.iter() { + for p in v.iter() { let (t, u) = (*p).clone(); ts.push(t); us.push(u); @@ -384,7 +384,7 @@ pub fn unzip_slice(v: &[(T, U)]) -> (~[T], ~[U]) { pub fn unzip(v: ~[(T, U)]) -> (~[T], ~[U]) { let mut ts = ~[]; let mut us = ~[]; - foreach p in v.consume_iter() { + for p in v.consume_iter() { let (t, u) = p; ts.push(t); us.push(u); @@ -473,7 +473,7 @@ pub fn each_permutation(values: &[T], fun: &fn(perm : &[T]) -> bool) -> indices.swap(k, l); indices.mut_slice(k+1, length).reverse(); // fixup permutation based on indices - foreach i in range(k, length) { + for i in range(k, length) { permutation[i] = values[indices[i]].clone(); } } @@ -589,7 +589,7 @@ pub mod traits { impl<'self,T:TotalOrd> TotalOrd for &'self [T] { fn cmp(&self, other: & &'self [T]) -> Ordering { - foreach (s,o) in self.iter().zip(other.iter()) { + for (s,o) in self.iter().zip(other.iter()) { match s.cmp(o) { Equal => {}, non_eq => { return non_eq; } @@ -611,7 +611,7 @@ pub mod traits { impl<'self,T:Ord> Ord for &'self [T] { fn lt(&self, other: & &'self [T]) -> bool { - foreach (s,o) in self.iter().zip(other.iter()) { + for (s,o) in self.iter().zip(other.iter()) { if *s < *o { return true; } if *s > *o { return false; } } @@ -725,7 +725,7 @@ impl<'self,T:Clone> CopyableVector for &'self [T] { #[inline] fn to_owned(&self) -> ~[T] { let mut result = with_capacity(self.len()); - foreach e in self.iter() { + for e in self.iter() { result.push((*e).clone()); } result @@ -880,7 +880,7 @@ impl<'self,T> ImmutableVector<'self, T> for &'self [T] { * * ~~~ {.rust} * let v = &[1,2,3,4]; - * foreach win in v.window_iter() { + * for win in v.window_iter() { * printfln!(win); * } * ~~~ @@ -909,7 +909,7 @@ impl<'self,T> ImmutableVector<'self, T> for &'self [T] { * * ~~~ {.rust} * let v = &[1,2,3,4,5]; - * foreach win in v.chunk_iter() { + * for win in v.chunk_iter() { * printfln!(win); * } * ~~~ @@ -975,7 +975,7 @@ impl<'self,T> ImmutableVector<'self, T> for &'self [T] { */ #[inline] fn rposition(&self, f: &fn(t: &T) -> bool) -> Option { - foreach (i, t) in self.rev_iter().enumerate() { + for (i, t) in self.rev_iter().enumerate() { if f(t) { return Some(self.len() - i - 1); } } None @@ -1075,7 +1075,7 @@ impl<'self,T:Eq> ImmutableEqVector for &'self [T] { /// Return true if a vector contains an element with the given value fn contains(&self, x: &T) -> bool { - foreach elt in self.iter() { if *x == *elt { return true; } } + for elt in self.iter() { if *x == *elt { return true; } } false } } @@ -1113,7 +1113,7 @@ impl<'self,T:Clone> ImmutableCopyableVector for &'self [T] { let mut lefts = ~[]; let mut rights = ~[]; - foreach elt in self.iter() { + for elt in self.iter() { if f(elt) { lefts.push((*elt).clone()); } else { @@ -1170,7 +1170,7 @@ impl OwnedVector for ~[T] { /// /// ~~~ {.rust} /// let v = ~[~"a", ~"b"]; - /// foreach s in v.consume_iter() { + /// for s in v.consume_iter() { /// // s has type ~str, not &~str /// println(s); /// } @@ -1461,7 +1461,7 @@ impl OwnedVector for ~[T] { assert!(newlen <= oldlen); unsafe { // This loop is optimized out for non-drop types. - foreach i in range(newlen, oldlen) { + for i in range(newlen, oldlen) { ptr::read_and_zero_ptr(ptr::mut_offset(p, i as int)); } } @@ -1477,7 +1477,7 @@ impl OwnedVector for ~[T] { let len = self.len(); let mut deleted: uint = 0; - foreach i in range(0u, len) { + for i in range(0u, len) { if !f(&self[i]) { deleted += 1; } else if deleted > 0 { @@ -1499,7 +1499,7 @@ impl OwnedVector for ~[T] { let mut lefts = ~[]; let mut rights = ~[]; - foreach elt in self.consume_iter() { + for elt in self.consume_iter() { if f(&elt) { lefts.push(elt); } else { @@ -1561,7 +1561,7 @@ impl OwnedCopyableVector for ~[T] { let new_len = self.len() + rhs.len(); self.reserve(new_len); - foreach i in range(0u, rhs.len()) { + for i in range(0u, rhs.len()) { self.push(unsafe { raw::get(rhs, i) }) } } @@ -1832,7 +1832,7 @@ impl<'self,T> MutableVector<'self, T> for &'self mut [T] { #[inline] fn move_from(self, mut src: ~[T], start: uint, end: uint) -> uint { - foreach (a, b) in self.mut_iter().zip(src.mut_slice(start, end).mut_iter()) { + for (a, b) in self.mut_iter().zip(src.mut_slice(start, end).mut_iter()) { util::swap(a, b); } cmp::min(self.len(), end-start) @@ -1867,7 +1867,7 @@ pub trait MutableCloneableVector { impl<'self, T:Clone> MutableCloneableVector for &'self mut [T] { #[inline] fn copy_from(self, src: &[T]) -> uint { - foreach (a, b) in self.mut_iter().zip(src.iter()) { + for (a, b) in self.mut_iter().zip(src.iter()) { *a = b.clone(); } cmp::min(self.len(), src.len()) @@ -2276,7 +2276,7 @@ impl> FromIterator for ~[A] { fn from_iterator(iterator: &mut T) -> ~[A] { let (lower, _) = iterator.size_hint(); let mut xs = with_capacity(lower); - foreach x in *iterator { + for x in *iterator { xs.push(x); } xs @@ -2288,7 +2288,7 @@ impl> Extendable for ~[A] { let (lower, _) = iterator.size_hint(); let len = self.len(); self.reserve(len + lower); - foreach x in *iterator { + for x in *iterator { self.push(x); } } @@ -3246,7 +3246,7 @@ mod tests { fn test_mut_iterator() { use iterator::*; let mut xs = [1, 2, 3, 4, 5]; - foreach x in xs.mut_iter() { + for x in xs.mut_iter() { *x += 1; } assert_eq!(xs, [2, 3, 4, 5, 6]) @@ -3259,7 +3259,7 @@ mod tests { let xs = [1, 2, 5, 10, 11]; let ys = [11, 10, 5, 2, 1]; let mut i = 0; - foreach &x in xs.rev_iter() { + for &x in xs.rev_iter() { assert_eq!(x, ys[i]); i += 1; } @@ -3270,7 +3270,7 @@ mod tests { fn test_mut_rev_iterator() { use iterator::*; let mut xs = [1u, 2, 3, 4, 5]; - foreach (i,x) in xs.mut_rev_iter().enumerate() { + for (i,x) in xs.mut_rev_iter().enumerate() { *x += i; } assert_eq!(xs, [5, 5, 5, 5, 5]) @@ -3514,12 +3514,12 @@ mod tests { { let (left, right) = values.mut_split(2); assert_eq!(left.slice(0, left.len()), [1, 2]); - foreach p in left.mut_iter() { + for p in left.mut_iter() { *p += 1; } assert_eq!(right.slice(0, right.len()), [3, 4, 5]); - foreach p in right.mut_iter() { + for p in right.mut_iter() { *p += 2; } } @@ -3536,25 +3536,25 @@ mod tests { assert_eq!(v.len(), 3); let mut cnt = 0; - foreach f in v.iter() { + for f in v.iter() { assert!(*f == Foo); cnt += 1; } assert_eq!(cnt, 3); - foreach f in v.slice(1, 3).iter() { + for f in v.slice(1, 3).iter() { assert!(*f == Foo); cnt += 1; } assert_eq!(cnt, 5); - foreach f in v.mut_iter() { + for f in v.mut_iter() { assert!(*f == Foo); cnt += 1; } assert_eq!(cnt, 8); - foreach f in v.consume_iter() { + for f in v.consume_iter() { assert!(f == Foo); cnt += 1; } @@ -3566,7 +3566,7 @@ mod tests { let xs: [Foo, ..3] = [Foo, Foo, Foo]; assert_eq!(fmt!("%?", xs.slice(0, 2).to_owned()), ~"~[{}, {}]"); cnt = 0; - foreach f in xs.iter() { + for f in xs.iter() { assert!(*f == Foo); cnt += 1; } @@ -3588,7 +3588,7 @@ mod bench { do bh.iter { let mut sum = 0; - foreach x in v.iter() { + for x in v.iter() { sum += *x; } // sum == 11806, to stop dead code elimination. @@ -3602,7 +3602,7 @@ mod bench { do bh.iter { let mut i = 0; - foreach x in v.mut_iter() { + for x in v.mut_iter() { *x = i; i += 1; } diff --git a/src/libsyntax/abi.rs b/src/libsyntax/abi.rs index dc6919efcf9..e6bbd45dae7 100644 --- a/src/libsyntax/abi.rs +++ b/src/libsyntax/abi.rs @@ -217,9 +217,9 @@ impl AbiSet { let mut abis = ~[]; do self.each |abi| { abis.push(abi); true }; - foreach (i, abi) in abis.iter().enumerate() { + for (i, abi) in abis.iter().enumerate() { let data = abi.data(); - foreach other_abi in abis.slice(0, i).iter() { + for other_abi in abis.slice(0, i).iter() { let other_data = other_abi.data(); debug!("abis=(%?,%?) datas=(%?,%?)", abi, data.abi_arch, @@ -381,7 +381,7 @@ fn abi_to_str_rust() { #[test] fn indices_are_correct() { - foreach (i, abi_data) in AbiDatas.iter().enumerate() { + for (i, abi_data) in AbiDatas.iter().enumerate() { assert!(i == abi_data.abi.index()); } @@ -396,7 +396,7 @@ fn indices_are_correct() { #[cfg(test)] fn check_arch(abis: &[Abi], arch: Architecture, expect: Option) { let mut set = AbiSet::empty(); - foreach &abi in abis.iter() { + for &abi in abis.iter() { set.add(abi); } let r = set.for_arch(arch); diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index 9c0f2d34a6c..5cba22a8e23 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -136,7 +136,7 @@ impl Ctx { // Expressions which are or might be calls: { let r = ex.get_callee_id(); - foreach callee_id in r.iter() { + for callee_id in r.iter() { self.map.insert(*callee_id, node_callee_scope(ex)); } } @@ -150,7 +150,7 @@ impl Ctx { body: &Block, sp: codemap::span, id: NodeId) { - foreach a in decl.inputs.iter() { + for a in decl.inputs.iter() { self.map.insert(a.id, node_arg); } visit::visit_fn(self as @Visitor<()>, fk, decl, body, sp, id, ()); @@ -189,12 +189,12 @@ impl Visitor<()> for Ctx { match i.node { item_impl(_, _, _, ref ms) => { let impl_did = ast_util::local_def(i.id); - foreach m in ms.iter() { + for m in ms.iter() { self.map_method(impl_did, self.extend(i.ident), *m, false) } } item_enum(ref enum_definition, _) => { - foreach v in (*enum_definition).variants.iter() { + for v in (*enum_definition).variants.iter() { // FIXME #2543: bad clone self.map.insert(v.node.id, node_variant((*v).clone(), @@ -203,7 +203,7 @@ impl Visitor<()> for Ctx { } } item_foreign_mod(ref nm) => { - foreach nitem in nm.items.iter() { + for nitem in nm.items.iter() { // Compute the visibility for this native item. let visibility = match nitem.vis { public => public, @@ -233,10 +233,10 @@ impl Visitor<()> for Ctx { i.ident) } item_trait(_, ref traits, ref methods) => { - foreach p in traits.iter() { + for p in traits.iter() { self.map.insert(p.ref_id, node_item(i, item_path)); } - foreach tm in methods.iter() { + for tm in methods.iter() { let id = ast_util::trait_method_to_ty_method(tm).id; let d_id = ast_util::local_def(i.id); self.map.insert(id, diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 45238c30d73..11d3740be3f 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -279,7 +279,7 @@ pub fn split_trait_methods(trait_methods: &[trait_method]) -> (~[TypeMethod], ~[@method]) { let mut reqd = ~[]; let mut provd = ~[]; - foreach trt_method in trait_methods.iter() { + for trt_method in trait_methods.iter() { match *trt_method { required(ref tm) => reqd.push((*tm).clone()), provided(m) => provd.push(m) @@ -398,10 +398,10 @@ struct IdVisitor { impl IdVisitor { fn visit_generics_helper(@mut self, generics: &Generics) { - foreach type_parameter in generics.ty_params.iter() { + for type_parameter in generics.ty_params.iter() { (self.visit_callback)(type_parameter.id) } - foreach lifetime in generics.lifetimes.iter() { + for lifetime in generics.lifetimes.iter() { (self.visit_callback)(lifetime.id) } } @@ -423,7 +423,7 @@ impl Visitor<()> for IdVisitor { (self.visit_callback)(node_id) } view_item_use(ref view_paths) => { - foreach view_path in view_paths.iter() { + for view_path in view_paths.iter() { match view_path.node { view_path_simple(_, _, node_id) | view_path_glob(_, node_id) => { @@ -431,7 +431,7 @@ impl Visitor<()> for IdVisitor { } view_path_list(_, ref paths, node_id) => { (self.visit_callback)(node_id); - foreach path in paths.iter() { + for path in paths.iter() { (self.visit_callback)(path.node.id) } } @@ -459,7 +459,7 @@ impl Visitor<()> for IdVisitor { (self.visit_callback)(item.id); match item.node { item_enum(ref enum_definition, _) => { - foreach variant in enum_definition.variants.iter() { + for variant in enum_definition.variants.iter() { (self.visit_callback)(variant.node.id) } } @@ -504,7 +504,7 @@ impl Visitor<()> for IdVisitor { fn visit_expr(@mut self, expression: @expr, env: ()) { { let optional_callee_id = expression.get_callee_id(); - foreach callee_id in optional_callee_id.iter() { + for callee_id in optional_callee_id.iter() { (self.visit_callback)(*callee_id) } } @@ -559,7 +559,7 @@ impl Visitor<()> for IdVisitor { visit::fk_anon(_) | visit::fk_fn_block => {} } - foreach argument in function_declaration.inputs.iter() { + for argument in function_declaration.inputs.iter() { (self.visit_callback)(argument.id) } diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs index 615b47e5681..d1ddebfc347 100644 --- a/src/libsyntax/attr.rs +++ b/src/libsyntax/attr.rs @@ -228,7 +228,7 @@ pub fn sort_meta_items(items: &[@MetaItem]) -> ~[@MetaItem] { */ pub fn find_linkage_metas(attrs: &[Attribute]) -> ~[@MetaItem] { let mut result = ~[]; - foreach attr in attrs.iter().filter(|at| "link" == at.name()) { + for attr in attrs.iter().filter(|at| "link" == at.name()) { match attr.meta().node { MetaList(_, ref items) => result.push_all(*items), _ => () @@ -316,7 +316,7 @@ pub fn test_cfg> pub fn require_unique_names(diagnostic: @span_handler, metas: &[@MetaItem]) { let mut set = HashSet::new(); - foreach meta in metas.iter() { + for meta in metas.iter() { let name = meta.name(); // FIXME: How do I silence the warnings? --pcw (#2619) diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs index 04b9fdce666..0da424ce54c 100644 --- a/src/libsyntax/codemap.rs +++ b/src/libsyntax/codemap.rs @@ -363,7 +363,7 @@ impl CodeMap { let lo = self.lookup_char_pos(sp.lo); let hi = self.lookup_char_pos(sp.hi); let mut lines = ~[]; - foreach i in range(lo.line - 1u, hi.line as uint) { + for i in range(lo.line - 1u, hi.line as uint) { lines.push(i); }; return @FileLines {file: lo.file, lines: lines}; @@ -378,7 +378,7 @@ impl CodeMap { } pub fn get_filemap(&self, filename: &str) -> @FileMap { - foreach fm in self.files.iter() { if filename == fm.name { return *fm; } } + for fm in self.files.iter() { if filename == fm.name { return *fm; } } //XXjdm the following triggers a mismatched type bug // (or expected function, found _|_) fail!(); // ("asking for " + filename + " which we don't know about"); @@ -464,7 +464,7 @@ impl CodeMap { // The number of extra bytes due to multibyte chars in the FileMap let mut total_extra_bytes = 0; - foreach mbc in map.multibyte_chars.iter() { + for mbc in map.multibyte_chars.iter() { debug!("codemap: %?-byte char at %?", mbc.bytes, mbc.pos); if mbc.pos < bpos { total_extra_bytes += mbc.bytes; diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs index 01f55e8c4f4..8b501436641 100644 --- a/src/libsyntax/diagnostic.rs +++ b/src/libsyntax/diagnostic.rs @@ -267,7 +267,7 @@ fn highlight_lines(cm: @codemap::CodeMap, elided = true; } // Print the offending lines - foreach line in display_lines.iter() { + for line in display_lines.iter() { io::stderr().write_str(fmt!("%s:%u ", fm.name, *line + 1u)); let s = fm.get_line(*line as int) + "\n"; io::stderr().write_str(s); @@ -305,7 +305,7 @@ fn highlight_lines(cm: @codemap::CodeMap, s.push_char(' '); } let orig = fm.get_line(lines.lines[0] as int); - foreach pos in range(0u, left-skip) { + for pos in range(0u, left-skip) { let curChar = (orig[pos] as char); // Whenever a tab occurs on the previous line, we insert one on // the error-point-squiggly-line as well (instead of a space). @@ -331,7 +331,7 @@ fn highlight_lines(cm: @codemap::CodeMap, } fn print_macro_backtrace(cm: @codemap::CodeMap, sp: span) { - foreach ei in sp.expn_info.iter() { + for ei in sp.expn_info.iter() { let ss = ei.callee.span.map_default(~"", |span| cm.span_to_str(*span)); print_diagnostic(ss, note, fmt!("in expansion of %s!", ei.callee.name)); diff --git a/src/libsyntax/ext/bytes.rs b/src/libsyntax/ext/bytes.rs index 9b2b37fe402..8d2d2432736 100644 --- a/src/libsyntax/ext/bytes.rs +++ b/src/libsyntax/ext/bytes.rs @@ -21,13 +21,13 @@ pub fn expand_syntax_ext(cx: @ExtCtxt, sp: span, tts: &[ast::token_tree]) -> bas let exprs = get_exprs_from_tts(cx, sp, tts); let mut bytes = ~[]; - foreach expr in exprs.iter() { + for expr in exprs.iter() { match expr.node { // expression is a literal ast::expr_lit(lit) => match lit.node { // string literal, push each byte to vector expression ast::lit_str(s) => { - foreach byte in s.byte_iter() { + for byte in s.byte_iter() { bytes.push(cx.expr_u8(sp, byte)); } } diff --git a/src/libsyntax/ext/concat_idents.rs b/src/libsyntax/ext/concat_idents.rs index e47e3078636..edb5c634d56 100644 --- a/src/libsyntax/ext/concat_idents.rs +++ b/src/libsyntax/ext/concat_idents.rs @@ -18,7 +18,7 @@ use parse::token::{str_to_ident}; pub fn expand_syntax_ext(cx: @ExtCtxt, sp: span, tts: &[ast::token_tree]) -> base::MacResult { let mut res_str = ~""; - foreach (i, e) in tts.iter().enumerate() { + for (i, e) in tts.iter().enumerate() { if i & 1 == 1 { match *e { ast::tt_tok(_, token::COMMA) => (), diff --git a/src/libsyntax/ext/deriving/decodable.rs b/src/libsyntax/ext/deriving/decodable.rs index 77b5bf5bf2c..59b7da16c2b 100644 --- a/src/libsyntax/ext/deriving/decodable.rs +++ b/src/libsyntax/ext/deriving/decodable.rs @@ -83,7 +83,7 @@ fn decodable_substructure(cx: @ExtCtxt, span: span, cx.expr_ident(span, substr.type_ident) } else { let mut fields = vec::with_capacity(n); - foreach i in range(0, n) { + for i in range(0, n) { fields.push(getarg(fmt!("_field%u", i).to_managed(), i)); } cx.expr_call_ident(span, substr.type_ident, fields) @@ -109,7 +109,7 @@ fn decodable_substructure(cx: @ExtCtxt, span: span, let mut variants = ~[]; let rvariant_arg = cx.ident_of("read_enum_variant_arg"); - foreach (i, f) in fields.iter().enumerate() { + for (i, f) in fields.iter().enumerate() { let (name, parts) = match *f { (i, ref p) => (i, p) }; variants.push(cx.expr_str(span, cx.str_of(name))); @@ -125,7 +125,7 @@ fn decodable_substructure(cx: @ExtCtxt, span: span, cx.expr_ident(span, name) } else { let mut fields = vec::with_capacity(n); - foreach i in range(0u, n) { + for i in range(0u, n) { fields.push(getarg(i)); } cx.expr_call_ident(span, name, fields) diff --git a/src/libsyntax/ext/deriving/encodable.rs b/src/libsyntax/ext/deriving/encodable.rs index 0a2731f2f87..f16fea7bb06 100644 --- a/src/libsyntax/ext/deriving/encodable.rs +++ b/src/libsyntax/ext/deriving/encodable.rs @@ -122,7 +122,7 @@ fn encodable_substructure(cx: @ExtCtxt, span: span, Struct(ref fields) => { let emit_struct_field = cx.ident_of("emit_struct_field"); let mut stmts = ~[]; - foreach (i, f) in fields.iter().enumerate() { + for (i, f) in fields.iter().enumerate() { let (name, val) = match *f { (Some(id), e, _) => (cx.str_of(id), e), (None, e, _) => (fmt!("_field%u", i).to_managed(), e) @@ -153,7 +153,7 @@ fn encodable_substructure(cx: @ExtCtxt, span: span, let encoder = cx.expr_ident(span, blkarg); let emit_variant_arg = cx.ident_of("emit_enum_variant_arg"); let mut stmts = ~[]; - foreach (i, f) in fields.iter().enumerate() { + for (i, f) in fields.iter().enumerate() { let val = match *f { (_, e, _) => e }; let enc = cx.expr_method_call(span, val, encode, ~[blkencoder]); let lambda = cx.lambda_expr_1(span, enc, blkarg); diff --git a/src/libsyntax/ext/deriving/generic.rs b/src/libsyntax/ext/deriving/generic.rs index 8038b9878ef..f5eb57c94b7 100644 --- a/src/libsyntax/ext/deriving/generic.rs +++ b/src/libsyntax/ext/deriving/generic.rs @@ -283,7 +283,7 @@ impl<'self> TraitDef<'self> { _mitem: @ast::MetaItem, in_items: ~[@ast::item]) -> ~[@ast::item] { let mut result = ~[]; - foreach item in in_items.iter() { + for item in in_items.iter() { result.push(*item); match item.node { ast::item_struct(struct_def, ref generics) => { @@ -321,11 +321,11 @@ impl<'self> TraitDef<'self> { let mut trait_generics = self.generics.to_generics(cx, span, type_ident, generics); // Copy the lifetimes - foreach l in generics.lifetimes.iter() { + for l in generics.lifetimes.iter() { trait_generics.lifetimes.push(*l) }; // Create the type parameters. - foreach ty_param in generics.ty_params.iter() { + for ty_param in generics.ty_params.iter() { // I don't think this can be moved out of the loop, since // a TyParamBound requires an ast id let mut bounds = opt_vec::from( @@ -485,7 +485,7 @@ impl<'self> MethodDef<'self> { None => respan(span, ast::sty_static), }; - foreach (i, ty) in self.args.iter().enumerate() { + for (i, ty) in self.args.iter().enumerate() { let ast_ty = ty.to_ty(cx, span, type_ident, generics); let ident = cx.ident_of(fmt!("__arg_%u", i)); arg_tys.push((ident, ast_ty)); @@ -579,7 +579,7 @@ impl<'self> MethodDef<'self> { let mut raw_fields = ~[]; // ~[[fields of self], // [fields of next Self arg], [etc]] let mut patterns = ~[]; - foreach i in range(0u, self_args.len()) { + for i in range(0u, self_args.len()) { let (pat, ident_expr) = create_struct_pattern(cx, span, type_ident, struct_def, fmt!("__self_%u", i), ast::m_imm); @@ -614,7 +614,7 @@ impl<'self> MethodDef<'self> { // make a series of nested matches, to destructure the // structs. This is actually right-to-left, but it shoudn't // matter. - foreach (&arg_expr, &pat) in self_args.iter().zip(patterns.iter()) { + for (&arg_expr, &pat) in self_args.iter().zip(patterns.iter()) { body = cx.expr_match(span, arg_expr, ~[ cx.arm(span, ~[pat], body) ]) } @@ -738,10 +738,10 @@ impl<'self> MethodDef<'self> { let mut enum_matching_fields = vec::from_elem(self_vec.len(), ~[]); - foreach triple in matches_so_far.tail().iter() { + for triple in matches_so_far.tail().iter() { match triple { &(_, _, ref other_fields) => { - foreach (i, pair) in other_fields.iter().enumerate() { + for (i, pair) in other_fields.iter().enumerate() { enum_matching_fields[i].push(pair.second()); } } @@ -814,7 +814,7 @@ impl<'self> MethodDef<'self> { } } else { // create an arm matching on each variant - foreach (index, variant) in enum_def.variants.iter().enumerate() { + for (index, variant) in enum_def.variants.iter().enumerate() { let (pattern, idents) = create_enum_variant_pattern(cx, span, variant, current_match_str, @@ -877,7 +877,7 @@ fn summarise_struct(cx: @ExtCtxt, span: span, struct_def: &struct_def) -> Either { let mut named_idents = ~[]; let mut unnamed_count = 0; - foreach field in struct_def.fields.iter() { + for field in struct_def.fields.iter() { match field.node.kind { ast::named_field(ident, _) => named_idents.push(ident), ast::unnamed_field => unnamed_count += 1, @@ -931,7 +931,7 @@ fn create_struct_pattern(cx: @ExtCtxt, let mut ident_expr = ~[]; let mut struct_type = Unknown; - foreach (i, struct_field) in struct_def.fields.iter().enumerate() { + for (i, struct_field) in struct_def.fields.iter().enumerate() { let opt_id = match struct_field.node.kind { ast::named_field(ident, _) if (struct_type == Unknown || struct_type == Record) => { @@ -959,7 +959,7 @@ fn create_struct_pattern(cx: @ExtCtxt, // must be nonempty to reach here let pattern = if struct_type == Record { let field_pats = do vec::build |push| { - foreach (&pat, &(id, _)) in subpats.iter().zip(ident_expr.iter()) { + for (&pat, &(id, _)) in subpats.iter().zip(ident_expr.iter()) { // id is guaranteed to be Some push(ast::field_pat { ident: id.get(), pat: pat }) } @@ -991,7 +991,7 @@ fn create_enum_variant_pattern(cx: @ExtCtxt, let mut paths = ~[]; let mut ident_expr = ~[]; - foreach i in range(0u, variant_args.len()) { + for i in range(0u, variant_args.len()) { let path = cx.path_ident(span, cx.ident_of(fmt!("%s_%u", prefix, i))); diff --git a/src/libsyntax/ext/deriving/iter_bytes.rs b/src/libsyntax/ext/deriving/iter_bytes.rs index 215d5ca837d..b0f442ee638 100644 --- a/src/libsyntax/ext/deriving/iter_bytes.rs +++ b/src/libsyntax/ext/deriving/iter_bytes.rs @@ -81,7 +81,7 @@ fn iter_bytes_substructure(cx: @ExtCtxt, span: span, substr: &Substructure) -> @ _ => cx.span_bug(span, "Impossible substructure in `deriving(IterBytes)`") } - foreach &(_, field, _) in fields.iter() { + for &(_, field, _) in fields.iter() { exprs.push(call_iterbytes(field)); } diff --git a/src/libsyntax/ext/deriving/to_str.rs b/src/libsyntax/ext/deriving/to_str.rs index c0f472ff456..3425352ff0c 100644 --- a/src/libsyntax/ext/deriving/to_str.rs +++ b/src/libsyntax/ext/deriving/to_str.rs @@ -64,7 +64,7 @@ fn to_str_substructure(cx: @ExtCtxt, span: span, stmts.push(cx.stmt_expr(call)); }; - foreach (i, &(name, e, _)) in fields.iter().enumerate() { + for (i, &(name, e, _)) in fields.iter().enumerate() { if i > 0 { push(cx.expr_str(span, @", ")); } diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 0ec367653c0..a6c5526b5a9 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -102,7 +102,7 @@ pub fn expand_expr(extsbox: @mut SyntaxEnv, } // Desugar expr_for_loop - // From: `foreach in ` + // From: `for in ` ast::expr_for_loop(src_pat, src_expr, ref src_loop_block) => { let src_pat = src_pat.clone(); let src_expr = src_expr.clone(); @@ -543,7 +543,7 @@ impl Visitor<()> for NewNameFinderContext { _ => () } // visit optional subpattern of pat_ident: - foreach subpat in inner.iter() { + for subpat in inner.iter() { self.visit_pat(*subpat, ()) } } diff --git a/src/libsyntax/ext/fmt.rs b/src/libsyntax/ext/fmt.rs index be8c0e2bd99..2dbf6887a21 100644 --- a/src/libsyntax/ext/fmt.rs +++ b/src/libsyntax/ext/fmt.rs @@ -67,7 +67,7 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span, fn make_rt_conv_expr(cx: @ExtCtxt, sp: span, cnv: &Conv) -> @ast::expr { fn make_flags(cx: @ExtCtxt, sp: span, flags: &[Flag]) -> @ast::expr { let mut tmp_expr = make_rt_path_expr(cx, sp, "flag_none"); - foreach f in flags.iter() { + for f in flags.iter() { let fstr = match *f { FlagLeftJustify => "flag_left_justify", FlagLeftZeroPad => "flag_left_zero_pad", @@ -153,7 +153,7 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span, option::None => (), _ => cx.span_unimpl(sp, unsupported) } - foreach f in cnv.flags.iter() { + for f in cnv.flags.iter() { match *f { FlagLeftJustify => (), FlagSignAlways => { @@ -203,7 +203,7 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span, Some(p) => { debug!("param: %s", p.to_str()); } _ => debug!("param: none") } - foreach f in c.flags.iter() { + for f in c.flags.iter() { match *f { FlagLeftJustify => debug!("flag: left justify"), FlagLeftZeroPad => debug!("flag: left zero pad"), @@ -269,7 +269,7 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span, corresponding function in std::unstable::extfmt. Each function takes a buffer to insert data into along with the data being formatted. */ let npieces = pieces.len(); - foreach (i, pc) in pieces.consume_iter().enumerate() { + for (i, pc) in pieces.consume_iter().enumerate() { match pc { /* Raw strings get appended via str::push_str */ PieceString(s) => { diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs index d5f032cd978..d218be5e476 100644 --- a/src/libsyntax/ext/quote.rs +++ b/src/libsyntax/ext/quote.rs @@ -632,7 +632,7 @@ fn mk_tt(cx: @ExtCtxt, sp: span, tt: &ast::token_tree) fn mk_tts(cx: @ExtCtxt, sp: span, tts: &[ast::token_tree]) -> ~[@ast::stmt] { let mut ss = ~[]; - foreach tt in tts.iter() { + for tt in tts.iter() { ss.push_all_move(mk_tt(cx, sp, tt)); } ss diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index 982e605af22..5a1317034b2 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -137,7 +137,7 @@ pub fn count_names(ms: &[matcher]) -> uint { pub fn initial_matcher_pos(ms: ~[matcher], sep: Option, lo: BytePos) -> ~MatcherPos { let mut match_idx_hi = 0u; - foreach elt in ms.iter() { + for elt in ms.iter() { match elt.node { match_tok(_) => (), match_seq(_,_,_,_,hi) => { @@ -194,7 +194,7 @@ pub fn nameize(p_s: @mut ParseSess, ms: &[matcher], res: &[@named_match]) match *m { codemap::spanned {node: match_tok(_), _} => (), codemap::spanned {node: match_seq(ref more_ms, _, _, _, _), _} => { - foreach next_m in more_ms.iter() { + for next_m in more_ms.iter() { n_rec(p_s, next_m, res, ret_val) }; } @@ -210,7 +210,7 @@ pub fn nameize(p_s: @mut ParseSess, ms: &[matcher], res: &[@named_match]) } } let mut ret_val = HashMap::new(); - foreach m in ms.iter() { n_rec(p_s, m, res, &mut ret_val) } + for m in ms.iter() { n_rec(p_s, m, res, &mut ret_val) } ret_val } @@ -279,7 +279,7 @@ pub fn parse( // most of the time. // Only touch the binders we have actually bound - foreach idx in range(ei.match_lo, ei.match_hi) { + for idx in range(ei.match_lo, ei.match_hi) { let sub = ei.matches[idx].clone(); new_pos.matches[idx] .push(@matched_seq(sub, @@ -320,7 +320,7 @@ pub fn parse( let mut new_ei = ei.clone(); new_ei.idx += 1u; //we specifically matched zero repeats. - foreach idx in range(match_idx_lo, match_idx_hi) { + for idx in range(match_idx_lo, match_idx_hi) { new_ei.matches[idx].push(@matched_seq(~[], sp)); } @@ -355,7 +355,7 @@ pub fn parse( if tok == EOF { if eof_eis.len() == 1u { let mut v = ~[]; - foreach dv in eof_eis[0u].matches.mut_iter() { + for dv in eof_eis[0u].matches.mut_iter() { v.push(dv.pop()); } return success(nameize(sess, ms, v)); diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 304cf4756e1..10735dad32f 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -93,7 +93,7 @@ pub fn add_new_extension(cx: @ExtCtxt, let s_d = cx.parse_sess().span_diagnostic; - foreach (i, lhs) in lhses.iter().enumerate() { // try each arm's matchers + for (i, lhs) in lhses.iter().enumerate() { // try each arm's matchers match *lhs { @matched_nonterminal(nt_matchers(ref mtcs)) => { // `none` is because we're not interpolating diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index 9bda1189a8e..000f9c73797 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -379,7 +379,7 @@ fn noop_fold_method(m: @method, fld: @ast_fold) -> @method { pub fn noop_fold_block(b: &Block, fld: @ast_fold) -> Block { let view_items = b.view_items.map(|x| fld.fold_view_item(x)); let mut stmts = ~[]; - foreach stmt in b.stmts.iter() { + for stmt in b.stmts.iter() { match fld.fold_stmt(*stmt) { None => {} Some(stmt) => stmts.push(stmt) diff --git a/src/libsyntax/oldvisit.rs b/src/libsyntax/oldvisit.rs index 2de4aa474e5..d5296e60dd3 100644 --- a/src/libsyntax/oldvisit.rs +++ b/src/libsyntax/oldvisit.rs @@ -126,10 +126,10 @@ pub fn visit_mod(m: &_mod, _sp: span, _id: NodeId, (e, v): (E, vt)) { - foreach vi in m.view_items.iter() { + for vi in m.view_items.iter() { (v.visit_view_item)(vi, (e.clone(), v)); } - foreach i in m.items.iter() { + for i in m.items.iter() { (v.visit_item)(*i, (e.clone(), v)); } } @@ -173,10 +173,10 @@ pub fn visit_item(i: &item, (e, v): (E, vt)) { } item_mod(ref m) => (v.visit_mod)(m, i.span, i.id, (e, v)), item_foreign_mod(ref nm) => { - foreach vi in nm.view_items.iter() { + for vi in nm.view_items.iter() { (v.visit_view_item)(vi, (e.clone(), v)); } - foreach ni in nm.items.iter() { + for ni in nm.items.iter() { (v.visit_foreign_item)(*ni, (e.clone(), v)); } } @@ -194,11 +194,11 @@ pub fn visit_item(i: &item, (e, v): (E, vt)) { } item_impl(ref tps, ref traits, ref ty, ref methods) => { (v.visit_generics)(tps, (e.clone(), v)); - foreach p in traits.iter() { + for p in traits.iter() { visit_trait_ref(p, (e.clone(), v)); } (v.visit_ty)(ty, (e.clone(), v)); - foreach m in methods.iter() { + for m in methods.iter() { visit_method_helper(*m, (e.clone(), v)) } } @@ -208,10 +208,10 @@ pub fn visit_item(i: &item, (e, v): (E, vt)) { } item_trait(ref generics, ref traits, ref methods) => { (v.visit_generics)(generics, (e.clone(), v)); - foreach p in traits.iter() { + for p in traits.iter() { visit_path(&p.path, (e.clone(), v)); } - foreach m in methods.iter() { + for m in methods.iter() { (v.visit_trait_method)(m, (e.clone(), v)); } } @@ -222,10 +222,10 @@ pub fn visit_item(i: &item, (e, v): (E, vt)) { pub fn visit_enum_def(enum_definition: &ast::enum_def, tps: &Generics, (e, v): (E, vt)) { - foreach vr in enum_definition.variants.iter() { + for vr in enum_definition.variants.iter() { match vr.node.kind { tuple_variant_kind(ref variant_args) => { - foreach va in variant_args.iter() { + for va in variant_args.iter() { (v.visit_ty)(&va.ty, (e.clone(), v)); } } @@ -235,7 +235,7 @@ pub fn visit_enum_def(enum_definition: &ast::enum_def, } } // Visit the disr expr if it exists - foreach ex in vr.node.disr_expr.iter() { + for ex in vr.node.disr_expr.iter() { (v.visit_expr)(*ex, (e.clone(), v)) } } @@ -250,12 +250,12 @@ pub fn visit_ty(t: &Ty, (e, v): (E, vt)) { (v.visit_ty)(mt.ty, (e, v)); }, ty_tup(ref ts) => { - foreach tt in ts.iter() { + for tt in ts.iter() { (v.visit_ty)(tt, (e.clone(), v)); } }, ty_closure(ref f) => { - foreach a in f.decl.inputs.iter() { + for a in f.decl.inputs.iter() { (v.visit_ty)(&a.ty, (e.clone(), v)); } (v.visit_ty)(&f.decl.output, (e.clone(), v)); @@ -264,7 +264,7 @@ pub fn visit_ty(t: &Ty, (e, v): (E, vt)) { }; }, ty_bare_fn(ref f) => { - foreach a in f.decl.inputs.iter() { + for a in f.decl.inputs.iter() { (v.visit_ty)(&a.ty, (e.clone(), v)); } (v.visit_ty)(&f.decl.output, (e, v)); @@ -284,27 +284,27 @@ pub fn visit_ty(t: &Ty, (e, v): (E, vt)) { } pub fn visit_path(p: &Path, (e, v): (E, vt)) { - foreach tp in p.types.iter() { (v.visit_ty)(tp, (e.clone(), v)); } + for tp in p.types.iter() { (v.visit_ty)(tp, (e.clone(), v)); } } pub fn visit_pat(p: &pat, (e, v): (E, vt)) { match p.node { pat_enum(ref path, ref children) => { visit_path(path, (e.clone(), v)); - foreach children in children.iter() { - foreach child in children.iter() { + for children in children.iter() { + for child in children.iter() { (v.visit_pat)(*child, (e.clone(), v)); } } } pat_struct(ref path, ref fields, _) => { visit_path(path, (e.clone(), v)); - foreach f in fields.iter() { + for f in fields.iter() { (v.visit_pat)(f.pat, (e.clone(), v)); } } pat_tup(ref elts) => { - foreach elt in elts.iter() { + for elt in elts.iter() { (v.visit_pat)(*elt, (e.clone(), v)) } }, @@ -313,7 +313,7 @@ pub fn visit_pat(p: &pat, (e, v): (E, vt)) { }, pat_ident(_, ref path, ref inner) => { visit_path(path, (e.clone(), v)); - foreach subpat in inner.iter() { + for subpat in inner.iter() { (v.visit_pat)(*subpat, (e.clone(), v)) } } @@ -324,13 +324,13 @@ pub fn visit_pat(p: &pat, (e, v): (E, vt)) { } pat_wild => (), pat_vec(ref before, ref slice, ref after) => { - foreach elt in before.iter() { + for elt in before.iter() { (v.visit_pat)(*elt, (e.clone(), v)); } - foreach elt in slice.iter() { + for elt in slice.iter() { (v.visit_pat)(*elt, (e.clone(), v)); } - foreach tail in after.iter() { + for tail in after.iter() { (v.visit_pat)(*tail, (e.clone(), v)); } } @@ -351,7 +351,7 @@ pub fn visit_foreign_item(ni: &foreign_item, (e, v): (E, vt)) { pub fn visit_ty_param_bounds(bounds: &OptVec, (e, v): (E, vt)) { - foreach bound in bounds.iter() { + for bound in bounds.iter() { match *bound { TraitTyParamBound(ref ty) => visit_trait_ref(ty, (e.clone(), v)), RegionTyParamBound => {} @@ -360,13 +360,13 @@ pub fn visit_ty_param_bounds(bounds: &OptVec, } pub fn visit_generics(generics: &Generics, (e, v): (E, vt)) { - foreach tp in generics.ty_params.iter() { + for tp in generics.ty_params.iter() { visit_ty_param_bounds(&tp.bounds, (e.clone(), v)); } } pub fn visit_fn_decl(fd: &fn_decl, (e, v): (E, vt)) { - foreach a in fd.inputs.iter() { + for a in fd.inputs.iter() { (v.visit_pat)(a.pat, (e.clone(), v)); (v.visit_ty)(&a.ty, (e.clone(), v)); } @@ -399,7 +399,7 @@ pub fn visit_fn(fk: &fn_kind, } pub fn visit_ty_method(m: &TypeMethod, (e, v): (E, vt)) { - foreach a in m.decl.inputs.iter() { + for a in m.decl.inputs.iter() { (v.visit_ty)(&a.ty, (e.clone(), v)); } (v.visit_generics)(&m.generics, (e.clone(), v)); @@ -420,7 +420,7 @@ pub fn visit_struct_def( _id: NodeId, (e, v): (E, vt) ) { - foreach f in sd.fields.iter() { + for f in sd.fields.iter() { (v.visit_struct_field)(*f, (e.clone(), v)); } } @@ -430,10 +430,10 @@ pub fn visit_struct_field(sf: &struct_field, (e, v): (E, vt)) { } pub fn visit_block(b: &Block, (e, v): (E, vt)) { - foreach vi in b.view_items.iter() { + for vi in b.view_items.iter() { (v.visit_view_item)(vi, (e.clone(), v)); } - foreach s in b.stmts.iter() { + for s in b.stmts.iter() { (v.visit_stmt)(*s, (e.clone(), v)); } visit_expr_opt(b.expr, (e, v)); @@ -460,7 +460,7 @@ pub fn visit_expr_opt(eo: Option<@expr>, (e, v): (E, vt)) { } pub fn visit_exprs(exprs: &[@expr], (e, v): (E, vt)) { - foreach ex in exprs.iter() { (v.visit_expr)(*ex, (e.clone(), v)); } + for ex in exprs.iter() { (v.visit_expr)(*ex, (e.clone(), v)); } } pub fn visit_mac(_m: &mac, (_e, _v): (E, vt)) { @@ -477,13 +477,13 @@ pub fn visit_expr(ex: @expr, (e, v): (E, vt)) { } expr_struct(ref p, ref flds, base) => { visit_path(p, (e.clone(), v)); - foreach f in flds.iter() { + for f in flds.iter() { (v.visit_expr)(f.expr, (e.clone(), v)); } visit_expr_opt(base, (e.clone(), v)); } expr_tup(ref elts) => { - foreach el in elts.iter() { (v.visit_expr)(*el, (e.clone(), v)) } + for el in elts.iter() { (v.visit_expr)(*el, (e.clone(), v)) } } expr_call(callee, ref args, _) => { visit_exprs(*args, (e.clone(), v)); @@ -491,7 +491,7 @@ pub fn visit_expr(ex: @expr, (e, v): (E, vt)) { } expr_method_call(_, callee, _, ref tys, ref args, _) => { visit_exprs(*args, (e.clone(), v)); - foreach tp in tys.iter() { + for tp in tys.iter() { (v.visit_ty)(tp, (e.clone(), v)); } (v.visit_expr)(callee, (e.clone(), v)); @@ -524,7 +524,7 @@ pub fn visit_expr(ex: @expr, (e, v): (E, vt)) { expr_loop(ref b, _) => (v.visit_block)(b, (e.clone(), v)), expr_match(x, ref arms) => { (v.visit_expr)(x, (e.clone(), v)); - foreach a in arms.iter() { (v.visit_arm)(a, (e.clone(), v)); } + for a in arms.iter() { (v.visit_arm)(a, (e.clone(), v)); } } expr_fn_block(ref decl, ref body) => { (v.visit_fn)( @@ -547,7 +547,7 @@ pub fn visit_expr(ex: @expr, (e, v): (E, vt)) { } expr_field(x, _, ref tys) => { (v.visit_expr)(x, (e.clone(), v)); - foreach tp in tys.iter() { + for tp in tys.iter() { (v.visit_ty)(tp, (e.clone(), v)); } } @@ -567,10 +567,10 @@ pub fn visit_expr(ex: @expr, (e, v): (E, vt)) { expr_mac(ref mac) => visit_mac(mac, (e.clone(), v)), expr_paren(x) => (v.visit_expr)(x, (e.clone(), v)), expr_inline_asm(ref a) => { - foreach &(_, input) in a.inputs.iter() { + for &(_, input) in a.inputs.iter() { (v.visit_expr)(input, (e.clone(), v)); } - foreach &(_, out) in a.outputs.iter() { + for &(_, out) in a.outputs.iter() { (v.visit_expr)(out, (e.clone(), v)); } } @@ -579,7 +579,7 @@ pub fn visit_expr(ex: @expr, (e, v): (E, vt)) { } pub fn visit_arm(a: &arm, (e, v): (E, vt)) { - foreach p in a.pats.iter() { (v.visit_pat)(*p, (e.clone(), v)); } + for p in a.pats.iter() { (v.visit_pat)(*p, (e.clone(), v)); } visit_expr_opt(a.guard, (e.clone(), v)); (v.visit_block)(&a.body, (e.clone(), v)); } diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs index c5454a2ca95..41379e6599c 100644 --- a/src/libsyntax/parse/comments.rs +++ b/src/libsyntax/parse/comments.rs @@ -73,8 +73,8 @@ pub fn strip_doc_comment_decoration(comment: &str) -> ~str { let mut i = uint::max_value; let mut can_trim = true; let mut first = true; - foreach line in lines.iter() { - foreach (j, c) in line.iter().enumerate() { + for line in lines.iter() { + for (j, c) in line.iter().enumerate() { if j > i || !"* \t".contains_char(c) { can_trim = false; break; diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs index 3259d49fcd1..49deafeda40 100644 --- a/src/libsyntax/parse/lexer.rs +++ b/src/libsyntax/parse/lexer.rs @@ -837,7 +837,7 @@ mod test { // check that the given reader produces the desired stream // of tokens (stop checking after exhausting the expected vec) fn check_tokenization (env: Env, expected: ~[token::Token]) { - foreach expected_tok in expected.iter() { + for expected_tok in expected.iter() { let TokenAndSpan {tok:actual_tok, sp: _} = env.string_reader.next_token(); assert_eq!(&actual_tok,expected_tok); diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index ac3c50a53de..afa2e7a5e42 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1623,8 +1623,6 @@ impl Parser { hi = self.span.hi; } else if self.eat_keyword(keywords::If) { return self.parse_if_expr(); - } else if self.eat_keyword(keywords::ForEach) { - return self.parse_for_expr(); } else if self.eat_keyword(keywords::For) { return self.parse_for_expr(); } else if self.eat_keyword(keywords::Do) { @@ -3150,7 +3148,7 @@ impl Parser { } = self.parse_items_and_view_items(first_item_attrs, false, false); - foreach item in items.iter() { + for item in items.iter() { let decl = @spanned(item.span.lo, item.span.hi, decl_item(*item)); stmts.push(@spanned(item.span.lo, item.span.hi, stmt_decl(decl, self.get_id()))); @@ -3755,7 +3753,7 @@ impl Parser { fields = ~[]; while *self.token != token::RBRACE { let r = self.parse_struct_decl_field(); - foreach struct_field in r.iter() { + for struct_field in r.iter() { fields.push(*struct_field) } } @@ -4038,7 +4036,7 @@ impl Parser { Some(i) => { let stack = &self.sess.included_mod_stack; let mut err = ~"circular modules: "; - foreach p in stack.slice(i, stack.len()).iter() { + for p in stack.slice(i, stack.len()).iter() { err.push_str(p.to_str()); err.push_str(" -> "); } @@ -4252,7 +4250,7 @@ impl Parser { let mut fields: ~[@struct_field] = ~[]; while *self.token != token::RBRACE { let r = self.parse_struct_decl_field(); - foreach struct_field in r.iter() { + for struct_field in r.iter() { fields.push(*struct_field); } } @@ -4292,7 +4290,7 @@ impl Parser { seq_sep_trailing_disallowed(token::COMMA), |p| p.parse_ty(false) ); - foreach ty in arg_tys.consume_iter() { + for ty in arg_tys.consume_iter() { args.push(ast::variant_arg { ty: ty, id: self.get_id(), @@ -4401,7 +4399,7 @@ impl Parser { self.bump(); let the_string = ident_to_str(&s); let mut abis = AbiSet::empty(); - foreach word in the_string.word_iter() { + for word in the_string.word_iter() { match abi::lookup(word) { Some(abi) => { if abis.contains(abi) { diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs index 706357320a5..39668e5c8b2 100644 --- a/src/libsyntax/parse/token.rs +++ b/src/libsyntax/parse/token.rs @@ -471,10 +471,9 @@ fn mk_fresh_ident_interner() -> @ident_interner { "use", // 61 "while", // 62 "in", // 63 - "foreach", // 64 - "be", // 65 - "pure", // 66 + "be", // 64 + "pure", // 65 ]; @ident_interner { @@ -571,7 +570,6 @@ pub mod keywords { False, Fn, For, - ForEach, If, Impl, In, @@ -615,7 +613,6 @@ pub mod keywords { False => ident { name: 39, ctxt: 0 }, Fn => ident { name: 40, ctxt: 0 }, For => ident { name: 41, ctxt: 0 }, - ForEach => ident { name: 64, ctxt: 0 }, If => ident { name: 42, ctxt: 0 }, Impl => ident { name: 43, ctxt: 0 }, In => ident { name: 63, ctxt: 0 }, @@ -628,7 +625,7 @@ pub mod keywords { Once => ident { name: 50, ctxt: 0 }, Priv => ident { name: 51, ctxt: 0 }, Pub => ident { name: 52, ctxt: 0 }, - Pure => ident { name: 66, ctxt: 0 }, + Pure => ident { name: 65, ctxt: 0 }, Ref => ident { name: 53, ctxt: 0 }, Return => ident { name: 54, ctxt: 0 }, Static => ident { name: 27, ctxt: 0 }, @@ -641,7 +638,7 @@ pub mod keywords { Unsafe => ident { name: 60, ctxt: 0 }, Use => ident { name: 61, ctxt: 0 }, While => ident { name: 62, ctxt: 0 }, - Be => ident { name: 65, ctxt: 0 }, + Be => ident { name: 64, ctxt: 0 }, } } } @@ -657,7 +654,7 @@ pub fn is_keyword(kw: keywords::Keyword, tok: &Token) -> bool { pub fn is_any_keyword(tok: &Token) -> bool { match *tok { token::IDENT(sid, false) => match sid.name { - 8 | 27 | 32 .. 66 => true, + 8 | 27 | 32 .. 65 => true, _ => false, }, _ => false @@ -667,7 +664,7 @@ pub fn is_any_keyword(tok: &Token) -> bool { pub fn is_strict_keyword(tok: &Token) -> bool { match *tok { token::IDENT(sid, false) => match sid.name { - 8 | 27 | 32 .. 64 => true, + 8 | 27 | 32 .. 63 => true, _ => false, }, _ => false, @@ -677,7 +674,7 @@ pub fn is_strict_keyword(tok: &Token) -> bool { pub fn is_reserved_keyword(tok: &Token) -> bool { match *tok { token::IDENT(sid, false) => match sid.name { - 65 .. 66 => true, + 64 .. 65 => true, _ => false, }, _ => false, diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 7d885837a60..c3fcacdf7b0 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -320,7 +320,7 @@ pub fn synth_comment(s: @ps, text: ~str) { pub fn commasep(s: @ps, b: breaks, elts: &[T], op: &fn(@ps, &T)) { box(s, 0u, b); let mut first = true; - foreach elt in elts.iter() { + for elt in elts.iter() { if first { first = false; } else { word_space(s, ","); } op(s, elt); } @@ -333,7 +333,7 @@ pub fn commasep_cmnt(s: @ps, b: breaks, elts: &[T], op: &fn(@ps, &T), box(s, 0u, b); let len = elts.len(); let mut i = 0u; - foreach elt in elts.iter() { + for elt in elts.iter() { maybe_print_comment(s, get_span(elt).hi); op(s, elt); i += 1u; @@ -353,23 +353,23 @@ pub fn commasep_exprs(s: @ps, b: breaks, exprs: &[@ast::expr]) { pub fn print_mod(s: @ps, _mod: &ast::_mod, attrs: &[ast::Attribute]) { print_inner_attributes(s, attrs); - foreach vitem in _mod.view_items.iter() { + for vitem in _mod.view_items.iter() { print_view_item(s, vitem); } - foreach item in _mod.items.iter() { print_item(s, *item); } + for item in _mod.items.iter() { print_item(s, *item); } } pub fn print_foreign_mod(s: @ps, nmod: &ast::foreign_mod, attrs: &[ast::Attribute]) { print_inner_attributes(s, attrs); - foreach vitem in nmod.view_items.iter() { + for vitem in nmod.view_items.iter() { print_view_item(s, vitem); } - foreach item in nmod.items.iter() { print_foreign_item(s, *item); } + for item in nmod.items.iter() { print_foreign_item(s, *item); } } pub fn print_opt_lifetime(s: @ps, lifetime: &Option) { - foreach l in lifetime.iter() { + for l in lifetime.iter() { print_lifetime(s, l); nbsp(s); } @@ -589,7 +589,7 @@ pub fn print_item(s: @ps, item: &ast::item) { word(s.s, ";"); } else { bopen(s); - foreach meth in methods.iter() { + for meth in methods.iter() { print_method(s, *meth); } bclose(s, item.span); @@ -601,7 +601,7 @@ pub fn print_item(s: @ps, item: &ast::item) { print_generics(s, generics); if traits.len() != 0u { word(s.s, ":"); - foreach (i, trait_) in traits.iter().enumerate() { + for (i, trait_) in traits.iter().enumerate() { nbsp(s); if i != 0 { word_space(s, "+"); @@ -611,7 +611,7 @@ pub fn print_item(s: @ps, item: &ast::item) { } word(s.s, " "); bopen(s); - foreach meth in methods.iter() { + for meth in methods.iter() { print_trait_method(s, meth); } bclose(s, item.span); @@ -650,7 +650,7 @@ pub fn print_variants(s: @ps, variants: &[ast::variant], span: codemap::span) { bopen(s); - foreach v in variants.iter() { + for v in variants.iter() { space_if_not_bol(s); maybe_print_comment(s, v.span.lo); print_outer_attributes(s, v.node.attrs); @@ -715,7 +715,7 @@ pub fn print_struct(s: @ps, bopen(s); hardbreak_if_not_bol(s); - foreach field in struct_def.fields.iter() { + for field in struct_def.fields.iter() { match field.node.kind { ast::unnamed_field => fail!("unexpected unnamed field"), ast::named_field(ident, visibility) => { @@ -750,7 +750,7 @@ pub fn print_tt(s: @ps, tt: &ast::token_tree) { } ast::tt_seq(_, ref tts, ref sep, zerok) => { word(s.s, "$("); - foreach tt_elt in (*tts).iter() { print_tt(s, tt_elt); } + for tt_elt in (*tts).iter() { print_tt(s, tt_elt); } word(s.s, ")"); match (*sep) { Some(ref tk) => word(s.s, parse::token::to_str(s.intr, tk)), @@ -767,7 +767,7 @@ pub fn print_tt(s: @ps, tt: &ast::token_tree) { pub fn print_tts(s: @ps, tts: & &[ast::token_tree]) { ibox(s, 0); - foreach (i, tt) in tts.iter().enumerate() { + for (i, tt) in tts.iter().enumerate() { if i != 0 { space(s.s); } @@ -844,7 +844,7 @@ pub fn print_method(s: @ps, meth: &ast::method) { pub fn print_outer_attributes(s: @ps, attrs: &[ast::Attribute]) { let mut count = 0; - foreach attr in attrs.iter() { + for attr in attrs.iter() { match attr.node.style { ast::AttrOuter => { print_attribute(s, attr); count += 1; } _ => {/* fallthrough */ } @@ -855,7 +855,7 @@ pub fn print_outer_attributes(s: @ps, attrs: &[ast::Attribute]) { pub fn print_inner_attributes(s: @ps, attrs: &[ast::Attribute]) { let mut count = 0; - foreach attr in attrs.iter() { + for attr in attrs.iter() { match attr.node.style { ast::AttrInner => { print_attribute(s, attr); @@ -960,8 +960,8 @@ pub fn print_possibly_embedded_block_(s: @ps, print_inner_attributes(s, attrs); - foreach vi in blk.view_items.iter() { print_view_item(s, vi); } - foreach st in blk.stmts.iter() { + for vi in blk.view_items.iter() { print_view_item(s, vi); } + for st in blk.stmts.iter() { print_stmt(s, *st); } match blk.expr { @@ -1228,7 +1228,7 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { print_block(s, blk); } ast::expr_for_loop(pat, iter, ref blk) => { - head(s, "foreach"); + head(s, "for"); print_pat(s, pat); space(s.s); word_space(s, "in"); @@ -1237,7 +1237,7 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { print_block(s, blk); } ast::expr_loop(ref blk, opt_ident) => { - foreach ident in opt_ident.iter() { + for ident in opt_ident.iter() { word(s.s, "'"); print_ident(s, *ident); word_space(s, ":"); @@ -1254,12 +1254,12 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { space(s.s); bopen(s); let len = arms.len(); - foreach (i, arm) in arms.iter().enumerate() { + for (i, arm) in arms.iter().enumerate() { space(s.s); cbox(s, indent_unit); ibox(s, 0u); let mut first = true; - foreach p in arm.pats.iter() { + for p in arm.pats.iter() { if first { first = false; } else { space(s.s); word_space(s, "|"); } @@ -1385,7 +1385,7 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { ast::expr_break(opt_ident) => { word(s.s, "break"); space(s.s); - foreach ident in opt_ident.iter() { + for ident in opt_ident.iter() { word(s.s, "'"); print_ident(s, *ident); space(s.s); @@ -1394,7 +1394,7 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { ast::expr_again(opt_ident) => { word(s.s, "loop"); space(s.s); - foreach ident in opt_ident.iter() { + for ident in opt_ident.iter() { word(s.s, "'"); print_ident(s, *ident); space(s.s) @@ -1425,7 +1425,7 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { popen(s); print_string(s, a.asm); word_space(s, ":"); - foreach &(co, o) in a.outputs.iter() { + for &(co, o) in a.outputs.iter() { print_string(s, co); popen(s); print_expr(s, o); @@ -1433,7 +1433,7 @@ pub fn print_expr(s: @ps, expr: &ast::expr) { word_space(s, ","); } word_space(s, ":"); - foreach &(co, o) in a.inputs.iter() { + for &(co, o) in a.inputs.iter() { print_string(s, co); popen(s); print_expr(s, o); @@ -1512,7 +1512,7 @@ fn print_path_(s: @ps, path: &ast::Path, colons_before_params: bool, maybe_print_comment(s, path.span.lo); if path.global { word(s.s, "::"); } let mut first = true; - foreach id in path.idents.iter() { + for id in path.idents.iter() { if first { first = false; } else { word(s.s, "::"); } print_ident(s, *id); } @@ -1525,7 +1525,7 @@ fn print_path_(s: @ps, path: &ast::Path, colons_before_params: bool, if path.rp.is_some() || !path.types.is_empty() { word(s.s, "<"); - foreach r in path.rp.iter() { + for r in path.rp.iter() { print_lifetime(s, r); if !path.types.is_empty() { word_space(s, ","); @@ -1639,7 +1639,7 @@ pub fn print_pat(s: @ps, pat: &ast::pat) { do commasep(s, inconsistent, *before) |s, &p| { print_pat(s, p); } - foreach &p in slice.iter() { + for &p in slice.iter() { if !before.is_empty() { word_space(s, ","); } word(s.s, ".."); print_pat(s, p); @@ -1699,11 +1699,11 @@ pub fn print_fn_args(s: @ps, decl: &ast::fn_decl, // self type and the args all in the same box. box(s, 0u, inconsistent); let mut first = true; - foreach explicit_self in opt_explicit_self.iter() { + for explicit_self in opt_explicit_self.iter() { first = !print_explicit_self(s, *explicit_self); } - foreach arg in decl.inputs.iter() { + for arg in decl.inputs.iter() { if first { first = false; } else { word_space(s, ","); } print_arg(s, arg); } @@ -1750,7 +1750,7 @@ pub fn print_bounds(s: @ps, bounds: &OptVec, if !bounds.is_empty() { word(s.s, ":"); let mut first = true; - foreach bound in bounds.iter() { + for bound in bounds.iter() { nbsp(s); if first { first = false; @@ -1790,7 +1790,7 @@ pub fn print_generics(s: @ps, generics: &ast::Generics) { } let mut ints = ~[]; - foreach i in range(0u, total) { + for i in range(0u, total) { ints.push(i); } @@ -1949,10 +1949,10 @@ pub fn print_ty_fn(s: @ps, // self type and the args all in the same box. box(s, 0u, inconsistent); let mut first = true; - foreach explicit_self in opt_explicit_self.iter() { + for explicit_self in opt_explicit_self.iter() { first = !print_explicit_self(s, *explicit_self); } - foreach arg in decl.inputs.iter() { + for arg in decl.inputs.iter() { if first { first = false; } else { word_space(s, ","); } print_arg(s, arg); } @@ -2108,7 +2108,7 @@ pub fn print_comment(s: @ps, cmnt: &comments::cmnt) { } comments::isolated => { pprust::hardbreak_if_not_bol(s); - foreach line in cmnt.lines.iter() { + for line in cmnt.lines.iter() { // Don't print empty lines because they will end up as trailing // whitespace if !line.is_empty() { word(s.s, *line); } @@ -2122,7 +2122,7 @@ pub fn print_comment(s: @ps, cmnt: &comments::cmnt) { hardbreak(s.s); } else { ibox(s, 0u); - foreach line in cmnt.lines.iter() { + for line in cmnt.lines.iter() { if !line.is_empty() { word(s.s, *line); } hardbreak(s.s); } diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs index b9c8c3f4e4c..46676ce1093 100644 --- a/src/libsyntax/util/interner.rs +++ b/src/libsyntax/util/interner.rs @@ -31,7 +31,7 @@ impl Interner { pub fn prefill(init: &[T]) -> Interner { let rv = Interner::new(); - foreach v in init.iter() { + for v in init.iter() { rv.intern((*v).clone()); } rv @@ -93,7 +93,7 @@ impl StrInterner { pub fn prefill(init: &[&str]) -> StrInterner { let rv = StrInterner::new(); - foreach &v in init.iter() { rv.intern(v); } + for &v in init.iter() { rv.intern(v); } rv } diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index 6f228a9a43b..15864fab258 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -93,10 +93,10 @@ pub fn visit_crate(visitor: @Visitor, crate: &Crate, env: E) { } pub fn visit_mod(visitor: @Visitor, module: &_mod, env: E) { - foreach view_item in module.view_items.iter() { + for view_item in module.view_items.iter() { visitor.visit_view_item(view_item, env.clone()) } - foreach item in module.items.iter() { + for item in module.items.iter() { visitor.visit_item(*item, env.clone()) } } @@ -138,10 +138,10 @@ pub fn visit_item(visitor: @Visitor, item: &item, env: E) { visitor.visit_mod(module, item.span, item.id, env) } item_foreign_mod(ref foreign_module) => { - foreach view_item in foreign_module.view_items.iter() { + for view_item in foreign_module.view_items.iter() { visitor.visit_view_item(view_item, env.clone()) } - foreach foreign_item in foreign_module.items.iter() { + for foreign_item in foreign_module.items.iter() { visitor.visit_foreign_item(*foreign_item, env.clone()) } } @@ -158,11 +158,11 @@ pub fn visit_item(visitor: @Visitor, item: &item, env: E) { ref typ, ref methods) => { visitor.visit_generics(type_parameters, env.clone()); - foreach trait_reference in trait_references.iter() { + for trait_reference in trait_references.iter() { visit_trait_ref(visitor, trait_reference, env.clone()) } visitor.visit_ty(typ, env.clone()); - foreach method in methods.iter() { + for method in methods.iter() { visit_method_helper(visitor, *method, env.clone()) } } @@ -176,10 +176,10 @@ pub fn visit_item(visitor: @Visitor, item: &item, env: E) { } item_trait(ref generics, ref trait_paths, ref methods) => { visitor.visit_generics(generics, env.clone()); - foreach trait_path in trait_paths.iter() { + for trait_path in trait_paths.iter() { visit_path(visitor, &trait_path.path, env.clone()) } - foreach method in methods.iter() { + for method in methods.iter() { visitor.visit_trait_method(method, env.clone()) } } @@ -191,10 +191,10 @@ pub fn visit_enum_def(visitor: @Visitor, enum_definition: &ast::enum_def, generics: &Generics, env: E) { - foreach variant in enum_definition.variants.iter() { + for variant in enum_definition.variants.iter() { match variant.node.kind { tuple_variant_kind(ref variant_arguments) => { - foreach variant_argument in variant_arguments.iter() { + for variant_argument in variant_arguments.iter() { visitor.visit_ty(&variant_argument.ty, env.clone()) } } @@ -221,28 +221,28 @@ pub fn visit_ty(visitor: @Visitor, typ: &Ty, env: E) { visitor.visit_ty(mutable_type.ty, env) } ty_tup(ref tuple_element_types) => { - foreach tuple_element_type in tuple_element_types.iter() { + for tuple_element_type in tuple_element_types.iter() { visitor.visit_ty(tuple_element_type, env.clone()) } } ty_closure(ref function_declaration) => { - foreach argument in function_declaration.decl.inputs.iter() { + for argument in function_declaration.decl.inputs.iter() { visitor.visit_ty(&argument.ty, env.clone()) } visitor.visit_ty(&function_declaration.decl.output, env.clone()); - foreach bounds in function_declaration.bounds.iter() { + for bounds in function_declaration.bounds.iter() { visit_ty_param_bounds(visitor, bounds, env.clone()) } } ty_bare_fn(ref function_declaration) => { - foreach argument in function_declaration.decl.inputs.iter() { + for argument in function_declaration.decl.inputs.iter() { visitor.visit_ty(&argument.ty, env.clone()) } visitor.visit_ty(&function_declaration.decl.output, env.clone()) } ty_path(ref path, ref bounds, _) => { visit_path(visitor, path, env.clone()); - foreach bounds in bounds.iter() { + for bounds in bounds.iter() { visit_ty_param_bounds(visitor, bounds, env.clone()) } } @@ -255,7 +255,7 @@ pub fn visit_ty(visitor: @Visitor, typ: &Ty, env: E) { } pub fn visit_path(visitor: @Visitor, path: &Path, env: E) { - foreach typ in path.types.iter() { + for typ in path.types.iter() { visitor.visit_ty(typ, env.clone()) } } @@ -264,20 +264,20 @@ pub fn visit_pat(visitor: @Visitor, pattern: &pat, env: E) { match pattern.node { pat_enum(ref path, ref children) => { visit_path(visitor, path, env.clone()); - foreach children in children.iter() { - foreach child in children.iter() { + for children in children.iter() { + for child in children.iter() { visitor.visit_pat(*child, env.clone()) } } } pat_struct(ref path, ref fields, _) => { visit_path(visitor, path, env.clone()); - foreach field in fields.iter() { + for field in fields.iter() { visitor.visit_pat(field.pat, env.clone()) } } pat_tup(ref tuple_elements) => { - foreach tuple_element in tuple_elements.iter() { + for tuple_element in tuple_elements.iter() { visitor.visit_pat(*tuple_element, env.clone()) } } @@ -300,13 +300,13 @@ pub fn visit_pat(visitor: @Visitor, pattern: &pat, env: E) { } pat_wild => (), pat_vec(ref prepattern, ref slice_pattern, ref postpatterns) => { - foreach prepattern in prepattern.iter() { + for prepattern in prepattern.iter() { visitor.visit_pat(*prepattern, env.clone()) } - foreach slice_pattern in slice_pattern.iter() { + for slice_pattern in slice_pattern.iter() { visitor.visit_pat(*slice_pattern, env.clone()) } - foreach postpattern in postpatterns.iter() { + for postpattern in postpatterns.iter() { visitor.visit_pat(*postpattern, env.clone()) } } @@ -328,7 +328,7 @@ pub fn visit_foreign_item(visitor: @Visitor, pub fn visit_ty_param_bounds(visitor: @Visitor, bounds: &OptVec, env: E) { - foreach bound in bounds.iter() { + for bound in bounds.iter() { match *bound { TraitTyParamBound(ref typ) => { visit_trait_ref(visitor, typ, env.clone()) @@ -341,7 +341,7 @@ pub fn visit_ty_param_bounds(visitor: @Visitor, pub fn visit_generics(visitor: @Visitor, generics: &Generics, env: E) { - foreach type_parameter in generics.ty_params.iter() { + for type_parameter in generics.ty_params.iter() { visit_ty_param_bounds(visitor, &type_parameter.bounds, env.clone()) } } @@ -349,7 +349,7 @@ pub fn visit_generics(visitor: @Visitor, pub fn visit_fn_decl(visitor: @Visitor, function_declaration: &fn_decl, env: E) { - foreach argument in function_declaration.inputs.iter() { + for argument in function_declaration.inputs.iter() { visitor.visit_pat(argument.pat, env.clone()); visitor.visit_ty(&argument.ty, env.clone()) } @@ -387,7 +387,7 @@ pub fn visit_fn(visitor: @Visitor, pub fn visit_ty_method(visitor: @Visitor, method_type: &TypeMethod, env: E) { - foreach argument_type in method_type.decl.inputs.iter() { + for argument_type in method_type.decl.inputs.iter() { visitor.visit_ty(&argument_type.ty, env.clone()) } visitor.visit_generics(&method_type.generics, env.clone()); @@ -411,7 +411,7 @@ pub fn visit_struct_def(visitor: @Visitor, _: &Generics, _: NodeId, env: E) { - foreach field in struct_definition.fields.iter() { + for field in struct_definition.fields.iter() { visitor.visit_struct_field(*field, env.clone()) } } @@ -423,10 +423,10 @@ pub fn visit_struct_field(visitor: @Visitor, } pub fn visit_block(visitor: @Visitor, block: &Block, env: E) { - foreach view_item in block.view_items.iter() { + for view_item in block.view_items.iter() { visitor.visit_view_item(view_item, env.clone()) } - foreach statement in block.stmts.iter() { + for statement in block.stmts.iter() { visitor.visit_stmt(*statement, env.clone()) } visit_expr_opt(visitor, block.expr, env) @@ -461,7 +461,7 @@ pub fn visit_expr_opt(visitor: @Visitor, pub fn visit_exprs(visitor: @Visitor, expressions: &[@expr], env: E) { - foreach expression in expressions.iter() { + for expression in expressions.iter() { visitor.visit_expr(*expression, env.clone()) } } @@ -484,25 +484,25 @@ pub fn visit_expr(visitor: @Visitor, expression: @expr, env: E) { } expr_struct(ref path, ref fields, optional_base) => { visit_path(visitor, path, env.clone()); - foreach field in fields.iter() { + for field in fields.iter() { visitor.visit_expr(field.expr, env.clone()) } visit_expr_opt(visitor, optional_base, env.clone()) } expr_tup(ref subexpressions) => { - foreach subexpression in subexpressions.iter() { + for subexpression in subexpressions.iter() { visitor.visit_expr(*subexpression, env.clone()) } } expr_call(callee_expression, ref arguments, _) => { - foreach argument in arguments.iter() { + for argument in arguments.iter() { visitor.visit_expr(*argument, env.clone()) } visitor.visit_expr(callee_expression, env.clone()) } expr_method_call(_, callee, _, ref types, ref arguments, _) => { visit_exprs(visitor, *arguments, env.clone()); - foreach typ in types.iter() { + for typ in types.iter() { visitor.visit_ty(typ, env.clone()) } visitor.visit_expr(callee, env.clone()) @@ -539,7 +539,7 @@ pub fn visit_expr(visitor: @Visitor, expression: @expr, env: E) { expr_loop(ref block, _) => visitor.visit_block(block, env.clone()), expr_match(subexpression, ref arms) => { visitor.visit_expr(subexpression, env.clone()); - foreach arm in arms.iter() { + for arm in arms.iter() { visitor.visit_arm(arm, env.clone()) } } @@ -562,7 +562,7 @@ pub fn visit_expr(visitor: @Visitor, expression: @expr, env: E) { } expr_field(subexpression, _, ref types) => { visitor.visit_expr(subexpression, env.clone()); - foreach typ in types.iter() { + for typ in types.iter() { visitor.visit_ty(typ, env.clone()) } } @@ -584,10 +584,10 @@ pub fn visit_expr(visitor: @Visitor, expression: @expr, env: E) { visitor.visit_expr(subexpression, env.clone()) } expr_inline_asm(ref assembler) => { - foreach &(_, input) in assembler.inputs.iter() { + for &(_, input) in assembler.inputs.iter() { visitor.visit_expr(input, env.clone()) } - foreach &(_, output) in assembler.outputs.iter() { + for &(_, output) in assembler.outputs.iter() { visitor.visit_expr(output, env.clone()) } } @@ -597,7 +597,7 @@ pub fn visit_expr(visitor: @Visitor, expression: @expr, env: E) { } pub fn visit_arm(visitor: @Visitor, arm: &arm, env: E) { - foreach pattern in arm.pats.iter() { + for pattern in arm.pats.iter() { visitor.visit_pat(*pattern, env.clone()) } visit_expr_opt(visitor, arm.guard, env.clone()); diff --git a/src/test/auxiliary/cci_nested_lib.rs b/src/test/auxiliary/cci_nested_lib.rs index 85f968cc2e1..c9809438d94 100644 --- a/src/test/auxiliary/cci_nested_lib.rs +++ b/src/test/auxiliary/cci_nested_lib.rs @@ -28,7 +28,7 @@ pub fn alist_get B { let eq_fn = lst.eq_fn; - foreach entry in lst.data.iter() { + for entry in lst.data.iter() { if eq_fn(entry.key.clone(), k.clone()) { return entry.value.clone(); } diff --git a/src/test/bench/core-map.rs b/src/test/bench/core-map.rs index 10d9c1a6b9b..da1c3596ff6 100644 --- a/src/test/bench/core-map.rs +++ b/src/test/bench/core-map.rs @@ -31,19 +31,19 @@ fn ascending>(map: &mut M, n_keys: uint) { io::println(" Ascending integers:"); do timed("insert") { - foreach i in range(0u, n_keys) { + for i in range(0u, n_keys) { map.insert(i, i + 1); } } do timed("search") { - foreach i in range(0u, n_keys) { + for i in range(0u, n_keys) { assert_eq!(map.find(&i).unwrap(), &(i + 1)); } } do timed("remove") { - foreach i in range(0, n_keys) { + for i in range(0, n_keys) { assert!(map.remove(&i)); } } @@ -77,19 +77,19 @@ fn descending>(map: &mut M, n_keys: uint) { fn vector>(map: &mut M, n_keys: uint, dist: &[uint]) { do timed("insert") { - foreach i in range(0u, n_keys) { + for i in range(0u, n_keys) { map.insert(dist[i], i + 1); } } do timed("search") { - foreach i in range(0u, n_keys) { + for i in range(0u, n_keys) { assert_eq!(map.find(&dist[i]).unwrap(), &(i + 1)); } } do timed("remove") { - foreach i in range(0u, n_keys) { + for i in range(0u, n_keys) { assert!(map.remove(&dist[i])); } } diff --git a/src/test/bench/core-set.rs b/src/test/bench/core-set.rs index c6234f40cfc..2c412e2eecd 100644 --- a/src/test/bench/core-set.rs +++ b/src/test/bench/core-set.rs @@ -46,11 +46,11 @@ impl Results { { let mut set = f(); do timed(&mut self.sequential_ints) { - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { set.insert(i); } - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { assert!(set.contains(&i)); } } @@ -67,12 +67,12 @@ impl Results { { let mut set = f(); - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { set.insert(i); } do timed(&mut self.delete_ints) { - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { assert!(set.remove(&i)); } } @@ -88,12 +88,12 @@ impl Results { { let mut set = f(); do timed(&mut self.sequential_strings) { - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { let s = uint::to_str(i); set.insert(s); } - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { let s = uint::to_str(i); assert!(set.contains(&s)); } @@ -112,11 +112,11 @@ impl Results { { let mut set = f(); - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { set.insert(uint::to_str(i)); } do timed(&mut self.delete_strings) { - foreach i in range(0u, num_keys) { + for i in range(0u, num_keys) { assert!(set.remove(&uint::to_str(i))); } } diff --git a/src/test/bench/core-std.rs b/src/test/bench/core-std.rs index 100d9d673fa..a0ceb654b52 100644 --- a/src/test/bench/core-std.rs +++ b/src/test/bench/core-std.rs @@ -74,7 +74,7 @@ fn read_line() { let path = Path(env!("CFG_SRC_DIR")) .push_rel(&Path("src/test/bench/shootout-k-nucleotide.data")); - foreach _ in range(0, 3) { + for _ in range(0, 3) { let reader = io::file_reader(&path).unwrap(); while !reader.eof() { reader.read_line(); @@ -119,7 +119,7 @@ fn vec_push_all() { let mut r = rand::rng(); let mut v = ~[]; - foreach i in range(0u, 1500) { + for i in range(0u, 1500) { let mut rv = vec::from_elem(r.gen_uint_range(0, i + 1), i); if r.gen() { v.push_all(rv); @@ -133,7 +133,7 @@ fn vec_push_all() { fn is_utf8_ascii() { let mut v : ~[u8] = ~[]; - foreach _ in range(0u, 20000) { + for _ in range(0u, 20000) { v.push('b' as u8); if !str::is_utf8(v) { fail!("is_utf8 failed"); @@ -144,7 +144,7 @@ fn is_utf8_ascii() { fn is_utf8_multibyte() { let s = "b¢€𤭢"; let mut v : ~[u8]= ~[]; - foreach _ in range(0u, 5000) { + for _ in range(0u, 5000) { v.push_all(s.as_bytes()); if !str::is_utf8(v) { fail!("is_utf8 failed"); diff --git a/src/test/bench/core-uint-to-str.rs b/src/test/bench/core-uint-to-str.rs index 3e975e8f025..8924a9beb6e 100644 --- a/src/test/bench/core-uint-to-str.rs +++ b/src/test/bench/core-uint-to-str.rs @@ -23,7 +23,7 @@ fn main() { let n = uint::from_str(args[1]).get(); - foreach i in range(0u, n) { + for i in range(0u, n) { let x = uint::to_str(i); info!(x); } diff --git a/src/test/bench/graph500-bfs.rs b/src/test/bench/graph500-bfs.rs index 10bfb4f60ed..2557680f7b5 100644 --- a/src/test/bench/graph500-bfs.rs +++ b/src/test/bench/graph500-bfs.rs @@ -87,7 +87,7 @@ fn make_graph(N: uint, edges: ~[(node_id, node_id)]) -> graph { HashSet::new() }; - foreach e in edges.iter() { + for 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 = ~[]; - foreach i in v.consume() { + for 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 = ~[]; - foreach i in keys.consume() { + for 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; - foreach edges in graph.iter() { total_edges += edges.len(); } + for edges in graph.iter() { total_edges += edges.len(); } io::stdout().write_line(fmt!("Generated graph with %? edges in %? seconds.", total_edges / 2, diff --git a/src/test/bench/msgsend-pipes-shared.rs b/src/test/bench/msgsend-pipes-shared.rs index 77d7dd868da..186923da43b 100644 --- a/src/test/bench/msgsend-pipes-shared.rs +++ b/src/test/bench/msgsend-pipes-shared.rs @@ -64,12 +64,12 @@ fn run(args: &[~str]) { let num_bytes = 100; let start = extra::time::precise_time_s(); let mut worker_results = ~[]; - foreach _ in range(0u, workers) { + for _ in range(0u, workers) { let to_child = to_child.clone(); let mut builder = task::task(); builder.future_result(|r| worker_results.push(r)); do builder.spawn { - foreach _ in range(0u, size / workers) { + for _ in range(0u, size / workers) { //error!("worker %?: sending %? bytes", i, num_bytes); to_child.send(bytes(num_bytes)); } @@ -80,7 +80,7 @@ fn run(args: &[~str]) { server(&from_parent, &to_parent); } - foreach r in worker_results.iter() { + for r in worker_results.iter() { r.recv(); } diff --git a/src/test/bench/msgsend-pipes.rs b/src/test/bench/msgsend-pipes.rs index 70d94c27375..05ace5fd8e6 100644 --- a/src/test/bench/msgsend-pipes.rs +++ b/src/test/bench/msgsend-pipes.rs @@ -58,12 +58,12 @@ fn run(args: &[~str]) { let num_bytes = 100; let start = extra::time::precise_time_s(); let mut worker_results = ~[]; - foreach _ in range(0u, workers) { + for _ in range(0u, workers) { let to_child = to_child.clone(); let mut builder = task::task(); builder.future_result(|r| worker_results.push(r)); do builder.spawn { - foreach _ in range(0u, size / workers) { + for _ in range(0u, size / workers) { //error!("worker %?: sending %? bytes", i, num_bytes); to_child.send(bytes(num_bytes)); } @@ -74,7 +74,7 @@ fn run(args: &[~str]) { server(&from_parent, &to_parent); } - foreach r in worker_results.iter() { + for r in worker_results.iter() { r.recv(); } diff --git a/src/test/bench/msgsend-ring-mutex-arcs.rs b/src/test/bench/msgsend-ring-mutex-arcs.rs index 626fa25766b..649d029e60e 100644 --- a/src/test/bench/msgsend-ring-mutex-arcs.rs +++ b/src/test/bench/msgsend-ring-mutex-arcs.rs @@ -57,7 +57,7 @@ fn thread_ring(i: uint, count: uint, num_chan: pipe, num_port: pipe) { let mut num_chan = Some(num_chan); let mut num_port = Some(num_port); // Send/Receive lots of messages. - foreach j in range(0u, count) { + for j in range(0u, count) { //error!("task %?, iter %?", i, j); let num_chan2 = num_chan.take_unwrap(); let num_port2 = num_port.take_unwrap(); @@ -90,7 +90,7 @@ fn main() { // create the ring let mut futures = ~[]; - foreach i in range(1u, num_tasks) { + for i in range(1u, num_tasks) { //error!("spawning %?", i); let (new_chan, num_port) = init(); let num_chan2 = Cell::new(num_chan.take()); @@ -108,7 +108,7 @@ fn main() { thread_ring(0, msg_per_task, num_chan.take(), num_port); // synchronize - foreach f in futures.mut_iter() { + for f in futures.mut_iter() { f.get() } diff --git a/src/test/bench/msgsend-ring-rw-arcs.rs b/src/test/bench/msgsend-ring-rw-arcs.rs index 1a92b8b2fe8..7f9d7aa5889 100644 --- a/src/test/bench/msgsend-ring-rw-arcs.rs +++ b/src/test/bench/msgsend-ring-rw-arcs.rs @@ -53,7 +53,7 @@ fn thread_ring(i: uint, count: uint, num_chan: pipe, num_port: pipe) { let mut num_chan = Some(num_chan); let mut num_port = Some(num_port); // Send/Receive lots of messages. - foreach j in range(0u, count) { + for j in range(0u, count) { //error!("task %?, iter %?", i, j); let num_chan2 = num_chan.take_unwrap(); let num_port2 = num_port.take_unwrap(); @@ -86,7 +86,7 @@ fn main() { // create the ring let mut futures = ~[]; - foreach i in range(1u, num_tasks) { + for i in range(1u, num_tasks) { //error!("spawning %?", i); let (new_chan, num_port) = init(); let num_chan2 = Cell::new(num_chan.take()); @@ -104,7 +104,7 @@ fn main() { thread_ring(0, msg_per_task, num_chan.take(), num_port); // synchronize - foreach f in futures.mut_iter() { + for f in futures.mut_iter() { let _ = f.get(); } diff --git a/src/test/bench/noise.rs b/src/test/bench/noise.rs index ef6bac16d74..19380feea6d 100644 --- a/src/test/bench/noise.rs +++ b/src/test/bench/noise.rs @@ -38,11 +38,11 @@ impl Noise2DContext { pub fn new() -> Noise2DContext { let mut r = rand::rng(); let mut rgradients = [ Vec2 { x: 0.0, y: 0.0 }, ..256 ]; - foreach i in range(0, 256) { + for i in range(0, 256) { rgradients[i] = random_gradient(&mut r); } let mut permutations = [ 0, ..256 ]; - foreach i in range(0, 256) { + for i in range(0, 256) { permutations[i] = i; } r.shuffle_mut(permutations); @@ -106,8 +106,8 @@ fn main() { let mut pixels = [0f32, ..256*256]; let n2d = ~Noise2DContext::new(); do 100.times { - foreach y in range(0, 256) { - foreach x in range(0, 256) { + for y in range(0, 256) { + for x in range(0, 256) { let v = n2d.get( x as f32 * 0.1f32, y as f32 * 0.1f32 @@ -117,8 +117,8 @@ fn main() { }; }; - foreach y in range(0, 256) { - foreach x in range(0, 256) { + for y in range(0, 256) { + for x in range(0, 256) { print(symbols[(pixels[y*256+x] / 0.2f32) as int]); } println(""); diff --git a/src/test/bench/shootout-chameneos-redux.rs b/src/test/bench/shootout-chameneos-redux.rs index 4ad96a21b88..f48c1532946 100644 --- a/src/test/bench/shootout-chameneos-redux.rs +++ b/src/test/bench/shootout-chameneos-redux.rs @@ -22,8 +22,8 @@ use std::uint; fn print_complements() { let all = [Blue, Red, Yellow]; - foreach aa in all.iter() { - foreach bb in all.iter() { + for aa in all.iter() { + for 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 = ~""; - foreach col in set.iter() { + for 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 - foreach to_one in to_creature.iter() { + for to_one in to_creature.iter() { to_one.send(None); } // save each creature's meeting stats let mut report = ~[]; - foreach _to_one in to_creature.iter() { + for _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 - foreach rep in report.iter() { + for rep in report.iter() { io::println(*rep); } diff --git a/src/test/bench/shootout-fannkuch-redux.rs b/src/test/bench/shootout-fannkuch-redux.rs index d8766fdd643..bf942cf61a3 100644 --- a/src/test/bench/shootout-fannkuch-redux.rs +++ b/src/test/bench/shootout-fannkuch-redux.rs @@ -28,7 +28,7 @@ fn fannkuch_redux(n: i32) -> i32 { r -= 1; } - foreach (perm_i, perm1_i) in perm.mut_iter().zip(perm1.iter()) { + for (perm_i, perm1_i) in perm.mut_iter().zip(perm1.iter()) { *perm_i = *perm1_i; } @@ -41,7 +41,7 @@ fn fannkuch_redux(n: i32) -> i32 { } let k2 = (k+1) >> 1; - foreach i in range(0i32, k2) { + for i in range(0i32, k2) { let (perm_i, perm_k_i) = { (perm.unsafe_get(i as uint), perm.unsafe_get((k-i) as uint)) diff --git a/src/test/bench/shootout-fasta-redux.rs b/src/test/bench/shootout-fasta-redux.rs index b5336add4e4..af96170c79c 100644 --- a/src/test/bench/shootout-fasta-redux.rs +++ b/src/test/bench/shootout-fasta-redux.rs @@ -58,7 +58,7 @@ static HOMO_SAPIENS: [AminoAcid, ..4] = [ fn sum_and_scale(a: &'static [AminoAcid]) -> ~[AminoAcid] { let mut result = ~[]; let mut p = 0f32; - foreach a_i in a.iter() { + for 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; - foreach (i, slot) in lookup.mut_iter().enumerate() { + for (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); - foreach a in self.lookup.iter() { + for a in self.lookup.iter() { if a.p >= r { return a.c; } @@ -165,7 +165,7 @@ impl RandomFasta { let mut buf = [0, ..LINE_LEN + 1]; do lines.times { - foreach i in range(0u, LINE_LEN) { + for i in range(0u, LINE_LEN) { buf[i] = self.nextc(); } buf[LINE_LEN] = '\n' as u8; @@ -174,7 +174,7 @@ impl RandomFasta { 1, self.stdout); } - foreach i in range(0u, chars_left) { + for i in range(0u, chars_left) { buf[i] = self.nextc(); } fwrite(transmute(&buf[0]), chars_left as size_t, 1, self.stdout); diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs index 6cee2c4e5ff..3a90c6647e0 100644 --- a/src/test/bench/shootout-fasta.rs +++ b/src/test/bench/shootout-fasta.rs @@ -46,7 +46,7 @@ struct AminoAcids { fn make_cumulative(aa: ~[AminoAcids]) -> ~[AminoAcids] { let mut cp: u32 = 0u32; let mut ans: ~[AminoAcids] = ~[]; - foreach a in aa.iter() { + for a in aa.iter() { cp += a.prob; ans.push(AminoAcids {ch: a.ch, prob: cp}); } @@ -81,7 +81,7 @@ fn make_random_fasta(wr: @io::Writer, last: rng.next() }; let mut op: ~str = ~""; - foreach _ in range(0u, n as uint) { + for _ in range(0u, n as uint) { op.push_char(select_random(myrandom_next(rng, 100u32), genelist.clone())); if op.len() >= LINE_LENGTH { @@ -96,7 +96,7 @@ fn make_repeat_fasta(wr: @io::Writer, id: ~str, desc: ~str, s: ~str, n: int) { wr.write_line(~">" + id + " " + desc); let mut op = str::with_capacity( LINE_LENGTH ); let sl = s.len(); - foreach i in range(0u, n as uint) { + for i in range(0u, n as uint) { if (op.len() >= LINE_LENGTH) { wr.write_line( op ); op = str::with_capacity( LINE_LENGTH ); diff --git a/src/test/bench/shootout-k-nucleotide-pipes.rs b/src/test/bench/shootout-k-nucleotide-pipes.rs index 6c40ede7682..8c4e9092ce0 100644 --- a/src/test/bench/shootout-k-nucleotide-pipes.rs +++ b/src/test/bench/shootout-k-nucleotide-pipes.rs @@ -62,7 +62,7 @@ fn sort_and_fmt(mm: &HashMap<~[u8], uint>, total: uint) -> ~str { let mut pairs = ~[]; // map -> [(k,%)] - foreach (key, &val) in mm.iter() { + for (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 = ~""; - foreach kv in pairs_sorted.iter() { + for 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(); - foreach (ii, _sz) in sizes.iter().enumerate() { + for (ii, _sz) in sizes.iter().enumerate() { let lb = line_bytes.to_owned(); to_child[ii].send(lb); } @@ -227,12 +227,12 @@ fn main() { } // finish... - foreach (ii, _sz) in sizes.iter().enumerate() { + for (ii, _sz) in sizes.iter().enumerate() { to_child[ii].send(~[]); } // now fetch and print result messages - foreach (ii, _sz) in sizes.iter().enumerate() { + for (ii, _sz) in sizes.iter().enumerate() { io::println(from_child[ii].recv()); } } diff --git a/src/test/bench/shootout-k-nucleotide.rs b/src/test/bench/shootout-k-nucleotide.rs index 34e979b506b..96fd4d7e604 100644 --- a/src/test/bench/shootout-k-nucleotide.rs +++ b/src/test/bench/shootout-k-nucleotide.rs @@ -44,7 +44,7 @@ impl Code { fn pack(string: &str) -> Code { let mut code = Code(0u64); - foreach i in range(0u, string.len()) { + for i in range(0u, string.len()) { code = code.push_char(string[i]); } code diff --git a/src/test/bench/shootout-mandelbrot.rs b/src/test/bench/shootout-mandelbrot.rs index b46aa4b1dd5..16936f6ed72 100644 --- a/src/test/bench/shootout-mandelbrot.rs +++ b/src/test/bench/shootout-mandelbrot.rs @@ -19,9 +19,9 @@ fn main() { let mode = "w"; let stdout = fdopen(STDOUT_FILENO as c_int, transmute(&mode[0])); - foreach y in range(0i32, h) { + for y in range(0i32, h) { let y = y as f64; - foreach x in range(0i32, w) { + for x in range(0i32, w) { let mut Zr = 0f64; let mut Zi = 0f64; let mut Tr = 0f64; @@ -29,7 +29,7 @@ fn main() { let Cr = 2.0 * (x as f64) / (w as f64) - 1.5; let Ci = 2.0 * (y as f64) / (h as f64) - 1.0; - foreach _ in range(0i32, ITER as i32) { + for _ in range(0i32, ITER as i32) { if Tr + Ti > LIMIT * LIMIT { break; } diff --git a/src/test/bench/shootout-nbody.rs b/src/test/bench/shootout-nbody.rs index 8011f4bda03..99bd7c0f786 100644 --- a/src/test/bench/shootout-nbody.rs +++ b/src/test/bench/shootout-nbody.rs @@ -80,8 +80,8 @@ struct Planet { fn advance(bodies: &mut [Planet, ..N_BODIES], dt: f64, steps: i32) { let mut d = [ 0.0, ..3 ]; do (steps as uint).times { - foreach i in range(0u, N_BODIES) { - foreach j in range(i + 1, N_BODIES) { + for i in range(0u, N_BODIES) { + for j in range(i + 1, N_BODIES) { d[0] = bodies[i].x[0] - bodies[j].x[0]; d[1] = bodies[i].x[1] - bodies[j].x[1]; d[2] = bodies[i].x[2] - bodies[j].x[2]; @@ -101,7 +101,7 @@ fn advance(bodies: &mut [Planet, ..N_BODIES], dt: f64, steps: i32) { } } - foreach a in bodies.mut_iter() { + for 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]; @@ -112,13 +112,13 @@ fn advance(bodies: &mut [Planet, ..N_BODIES], dt: f64, steps: i32) { fn energy(bodies: &[Planet, ..N_BODIES]) -> f64 { let mut e = 0.0; let mut d = [ 0.0, ..3 ]; - foreach i in range(0u, N_BODIES) { - foreach k in range(0u, 3) { + for i in range(0u, N_BODIES) { + for k in range(0u, 3) { e += bodies[i].mass * bodies[i].v[k] * bodies[i].v[k] / 2.0; } - foreach j in range(i + 1, N_BODIES) { - foreach k in range(0u, 3) { + for j in range(i + 1, N_BODIES) { + for k in range(0u, 3) { d[k] = bodies[i].x[k] - bodies[j].x[k]; } let dist = (d[0]*d[0] + d[1]*d[1] + d[2]*d[2]).sqrt(); @@ -129,8 +129,8 @@ fn energy(bodies: &[Planet, ..N_BODIES]) -> f64 { } fn offset_momentum(bodies: &mut [Planet, ..N_BODIES]) { - foreach i in range(0u, N_BODIES) { - foreach k in range(0u, 3) { + for i in range(0u, N_BODIES) { + for k in range(0u, 3) { bodies[0].v[k] -= bodies[i].v[k] * bodies[i].mass / SOLAR_MASS; } } diff --git a/src/test/bench/shootout-pfib.rs b/src/test/bench/shootout-pfib.rs index b27b8395470..663ebcac334 100644 --- a/src/test/bench/shootout-pfib.rs +++ b/src/test/bench/shootout-pfib.rs @@ -83,14 +83,14 @@ fn stress_task(id: int) { fn stress(num_tasks: int) { let mut results = ~[]; - foreach i in range(0, num_tasks) { + for i in range(0, num_tasks) { let mut builder = task::task(); builder.future_result(|r| results.push(r)); do builder.spawn { stress_task(i); } } - foreach r in results.iter() { + for r in results.iter() { r.recv(); } } @@ -116,8 +116,8 @@ fn main() { let out = io::stdout(); - foreach n in range(1, max + 1) { - foreach _ in range(0, num_trials) { + for n in range(1, max + 1) { + for _ in range(0, num_trials) { let start = time::precise_time_ns(); let fibn = fib(n); let stop = time::precise_time_ns(); diff --git a/src/test/bench/shootout-spectralnorm.rs b/src/test/bench/shootout-spectralnorm.rs index 5187d035298..e3c3c19c33b 100644 --- a/src/test/bench/shootout-spectralnorm.rs +++ b/src/test/bench/shootout-spectralnorm.rs @@ -19,16 +19,16 @@ fn A(i: i32, j: i32) -> i32 { fn dot(v: &[f64], u: &[f64]) -> f64 { let mut sum = 0.0; - foreach (i, &v_i) in v.iter().enumerate() { + for (i, &v_i) in v.iter().enumerate() { sum += v_i * u[i]; } sum } fn mult_Av(v: &mut [f64], out: &mut [f64]) { - foreach (i, out_i) in out.mut_iter().enumerate() { + for (i, out_i) in out.mut_iter().enumerate() { let mut sum = 0.0; - foreach (j, &v_j) in v.mut_iter().enumerate() { + for (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]) { - foreach (i, out_i) in out.mut_iter().enumerate() { + for (i, out_i) in out.mut_iter().enumerate() { let mut sum = 0.0; - foreach (j, &v_j) in v.mut_iter().enumerate() { + for (j, &v_j) in v.mut_iter().enumerate() { sum += v_j / (A(j as i32, i as i32) as f64); } *out_i = sum; diff --git a/src/test/bench/std-smallintmap.rs b/src/test/bench/std-smallintmap.rs index 47efd076ef2..2c2073eafea 100644 --- a/src/test/bench/std-smallintmap.rs +++ b/src/test/bench/std-smallintmap.rs @@ -19,13 +19,13 @@ use std::os; use std::uint; fn append_sequential(min: uint, max: uint, map: &mut SmallIntMap) { - foreach i in range(min, max) { + for i in range(min, max) { map.insert(i, i + 22u); } } fn check_sequential(min: uint, max: uint, map: &SmallIntMap) { - foreach i in range(min, max) { + for i in range(min, max) { assert_eq!(*map.get(&i), i + 22u); } } @@ -45,7 +45,7 @@ fn main() { let mut checkf = 0.0; let mut appendf = 0.0; - foreach _ in range(0u, rep) { + for _ in range(0u, rep) { let mut map = SmallIntMap::new(); let start = extra::time::precise_time_s(); append_sequential(0u, max, &mut map); diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs index a14a63cd3a0..49b2c32ed68 100644 --- a/src/test/bench/sudoku.rs +++ b/src/test/bench/sudoku.rs @@ -56,8 +56,8 @@ impl Sudoku { } pub fn equal(&self, other: &Sudoku) -> bool { - foreach row in range(0u8, 9u8) { - foreach col in range(0u8, 9u8) { + for row in range(0u8, 9u8) { + for col in range(0u8, 9u8) { if self.grid[row][col] != other.grid[row][col] { return false; } @@ -87,9 +87,9 @@ impl Sudoku { } pub fn write(&self, writer: @io::Writer) { - foreach row in range(0u8, 9u8) { + for row in range(0u8, 9u8) { writer.write_str(fmt!("%u", self.grid[row][0] as uint)); - foreach col in range(1u8, 9u8) { + for col in range(1u8, 9u8) { writer.write_str(fmt!(" %u", self.grid[row][col] as uint)); } writer.write_char('\n'); @@ -99,8 +99,8 @@ impl Sudoku { // solve sudoku grid pub fn solve(&mut self) { let mut work: ~[(u8, u8)] = ~[]; /* queue of uncolored fields */ - foreach row in range(0u8, 9u8) { - foreach col in range(0u8, 9u8) { + for row in range(0u8, 9u8) { + for col in range(0u8, 9u8) { let color = self.grid[row][col]; if color == 0u8 { work.push((row, col)); @@ -143,7 +143,7 @@ impl Sudoku { // find colors available in neighbourhood of (row, col) fn drop_colors(&mut self, avail: &mut Colors, row: u8, col: u8) { - foreach idx in range(0u8, 9u8) { + for idx in range(0u8, 9u8) { avail.remove(self.grid[idx][col]); /* check same column fields */ avail.remove(self.grid[row][idx]); /* check same row fields */ } @@ -151,8 +151,8 @@ impl Sudoku { // check same block fields let row0 = (row / 3u8) * 3u8; let col0 = (col / 3u8) * 3u8; - foreach alt_row in range(row0, row0 + 3u8) { - foreach alt_col in range(col0, col0 + 3u8) { + for alt_row in range(row0, row0 + 3u8) { + for alt_col in range(col0, col0 + 3u8) { avail.remove(self.grid[alt_row][alt_col]); } } diff --git a/src/test/compile-fail/borrowck-insert-during-each.rs b/src/test/compile-fail/borrowck-insert-during-each.rs index c535bf7daea..e507f0e9e5b 100644 --- a/src/test/compile-fail/borrowck-insert-during-each.rs +++ b/src/test/compile-fail/borrowck-insert-during-each.rs @@ -16,7 +16,7 @@ struct Foo { impl Foo { pub fn foo(&mut self, fun: &fn(&int)) { - foreach f in self.n.iter() { + for f in self.n.iter() { fun(f); } } diff --git a/src/test/compile-fail/borrowck-mut-boxed-vec.rs b/src/test/compile-fail/borrowck-mut-boxed-vec.rs index c6aa1713db8..1a8fa50c76e 100644 --- a/src/test/compile-fail/borrowck-mut-boxed-vec.rs +++ b/src/test/compile-fail/borrowck-mut-boxed-vec.rs @@ -10,7 +10,7 @@ fn main() { let v = @mut [ 1, 2, 3 ]; - foreach _x in v.iter() { + for _x in v.iter() { v[1] = 4; //~ ERROR cannot assign } } diff --git a/src/test/compile-fail/issue-2149.rs b/src/test/compile-fail/issue-2149.rs index 6fe802b650b..dcb85d86706 100644 --- a/src/test/compile-fail/issue-2149.rs +++ b/src/test/compile-fail/issue-2149.rs @@ -15,7 +15,7 @@ trait vec_monad { impl vec_monad for ~[A] { fn bind(&self, f: &fn(A) -> ~[B]) { let mut r = fail!(); - foreach elt in self.iter() { r = r + f(*elt); } + for elt in self.iter() { r = r + f(*elt); } //~^ WARNING unreachable expression //~^^ ERROR the type of this value must be known } diff --git a/src/test/compile-fail/issue-2150.rs b/src/test/compile-fail/issue-2150.rs index d1e8d96a769..64344ab4277 100644 --- a/src/test/compile-fail/issue-2150.rs +++ b/src/test/compile-fail/issue-2150.rs @@ -14,7 +14,7 @@ fn fail_len(v: ~[int]) -> uint { let mut i = 3; fail!(); - foreach x in v.iter() { i += 1u; } + for x in v.iter() { i += 1u; } //~^ ERROR: unreachable statement return i; } diff --git a/src/test/compile-fail/issue-5100.rs b/src/test/compile-fail/issue-5100.rs index 9fc84c98cf5..1ef67f784e3 100644 --- a/src/test/compile-fail/issue-5100.rs +++ b/src/test/compile-fail/issue-5100.rs @@ -37,7 +37,7 @@ fn main() { ('c', 'd'), ('e', 'f')]; - foreach &(x,y) in v.iter() {} // should be OK + for &(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` diff --git a/src/test/compile-fail/vec-mut-iter-borrow.rs b/src/test/compile-fail/vec-mut-iter-borrow.rs index ef197a10c7d..19c786b553f 100644 --- a/src/test/compile-fail/vec-mut-iter-borrow.rs +++ b/src/test/compile-fail/vec-mut-iter-borrow.rs @@ -11,7 +11,7 @@ fn main() { let mut xs = ~[1, 2, 3, 4]; - foreach x in xs.mut_iter() { + for x in xs.mut_iter() { xs.push(1) //~ ERROR cannot borrow `xs` as mutable } } diff --git a/src/test/pretty/block-comment-wchar.pp b/src/test/pretty/block-comment-wchar.pp index d1629885c7a..805aca129e9 100644 --- a/src/test/pretty/block-comment-wchar.pp +++ b/src/test/pretty/block-comment-wchar.pp @@ -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']; - foreach c in chars.iter() { + for c in chars.iter() { let ws = c.is_whitespace(); println(fmt!("%? %?" , c , ws)); } diff --git a/src/test/pretty/block-comment-wchar.rs b/src/test/pretty/block-comment-wchar.rs index 822a71da3c8..f09a7c1428c 100644 --- a/src/test/pretty/block-comment-wchar.rs +++ b/src/test/pretty/block-comment-wchar.rs @@ -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']; - foreach c in chars.iter() { + for c in chars.iter() { let ws = c.is_whitespace(); println(fmt!("%? %?", c , ws)); } diff --git a/src/test/pretty/for-comment.rs b/src/test/pretty/for-comment.rs index 750c8dd8495..6b4e6a30d87 100644 --- a/src/test/pretty/for-comment.rs +++ b/src/test/pretty/for-comment.rs @@ -12,7 +12,7 @@ fn f(v: &[int]) { let mut n = 0; - foreach e in v.iter() { + for e in v.iter() { n = *e; // This comment once triggered pretty printer bug } } diff --git a/src/test/run-fail/for-each-loop-fail.rs b/src/test/run-fail/for-each-loop-fail.rs index 5aa8273527a..3c9397fc07f 100644 --- a/src/test/run-fail/for-each-loop-fail.rs +++ b/src/test/run-fail/for-each-loop-fail.rs @@ -11,4 +11,4 @@ // error-pattern:moop extern mod extra; -fn main() { foreach _ in range(0u, 10u) { fail!("moop"); } } +fn main() { for _ in range(0u, 10u) { fail!("moop"); } } diff --git a/src/test/run-fail/unwind-misc-1.rs b/src/test/run-fail/unwind-misc-1.rs index 87791112edf..336c2d3c8ea 100644 --- a/src/test/run-fail/unwind-misc-1.rs +++ b/src/test/run-fail/unwind-misc-1.rs @@ -15,7 +15,7 @@ fn main() { let count = @mut 0u; let mut map = std::hashmap::HashMap::new(); let mut arr = ~[]; - foreach i in range(0u, 10u) { + for i in range(0u, 10u) { arr.push(@~"key stuff"); map.insert(arr.clone(), arr + &[@~"value stuff"]); if arr.len() == 5 { diff --git a/src/test/run-pass/auto-loop.rs b/src/test/run-pass/auto-loop.rs index 37ac5f85a9e..33aee55b8c7 100644 --- a/src/test/run-pass/auto-loop.rs +++ b/src/test/run-pass/auto-loop.rs @@ -11,7 +11,7 @@ pub fn main() { let mut sum = 0; let xs = ~[1, 2, 3, 4, 5]; - foreach x in xs.iter() { + for x in xs.iter() { sum += *x; } assert_eq!(sum, 15); diff --git a/src/test/run-pass/block-arg.rs b/src/test/run-pass/block-arg.rs index 313d5a62554..7b74d1d314b 100644 --- a/src/test/run-pass/block-arg.rs +++ b/src/test/run-pass/block-arg.rs @@ -15,7 +15,7 @@ pub fn main() { let v = ~[-1f, 0f, 1f, 2f, 3f]; // Statement form does not require parentheses: - foreach i in v.iter() { + for i in v.iter() { info!("%?", *i); } diff --git a/src/test/run-pass/block-iter-1.rs b/src/test/run-pass/block-iter-1.rs index d9c9670c858..790757463c6 100644 --- a/src/test/run-pass/block-iter-1.rs +++ b/src/test/run-pass/block-iter-1.rs @@ -10,7 +10,7 @@ // xfail-fast -fn iter_vec(v: ~[T], f: &fn(&T)) { foreach x in v.iter() { f(x); } } +fn iter_vec(v: ~[T], f: &fn(&T)) { for x in v.iter() { f(x); } } pub fn main() { let v = ~[1, 2, 3, 4, 5, 6, 7]; diff --git a/src/test/run-pass/block-iter-2.rs b/src/test/run-pass/block-iter-2.rs index e51ca5bcc95..29b693ec376 100644 --- a/src/test/run-pass/block-iter-2.rs +++ b/src/test/run-pass/block-iter-2.rs @@ -10,7 +10,7 @@ // xfail-fast -fn iter_vec(v: ~[T], f: &fn(&T)) { foreach x in v.iter() { f(x); } } +fn iter_vec(v: ~[T], f: &fn(&T)) { for x in v.iter() { f(x); } } pub fn main() { let v = ~[1, 2, 3, 4, 5]; diff --git a/src/test/run-pass/borrowck-borrow-from-at-vec.rs b/src/test/run-pass/borrowck-borrow-from-at-vec.rs index 3b1e28ab915..8ec1b590fdf 100644 --- a/src/test/run-pass/borrowck-borrow-from-at-vec.rs +++ b/src/test/run-pass/borrowck-borrow-from-at-vec.rs @@ -10,7 +10,7 @@ fn sum_slice(x: &[int]) -> int { let mut sum = 0; - foreach i in x.iter() { sum += *i; } + for i in x.iter() { sum += *i; } return sum; } diff --git a/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs b/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs index c6fc84b2054..1ca94d6a221 100644 --- a/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs +++ b/src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs @@ -10,7 +10,7 @@ fn want_slice(v: &[int]) -> int { let mut sum = 0; - foreach i in v.iter() { sum += *i; } + for i in v.iter() { sum += *i; } sum } diff --git a/src/test/run-pass/borrowck-wg-borrow-mut-to-imm-3.rs b/src/test/run-pass/borrowck-wg-borrow-mut-to-imm-3.rs index c6ef7111043..dcf497e81f7 100644 --- a/src/test/run-pass/borrowck-wg-borrow-mut-to-imm-3.rs +++ b/src/test/run-pass/borrowck-wg-borrow-mut-to-imm-3.rs @@ -4,7 +4,7 @@ struct Wizard { impl Wizard { pub fn cast(&mut self) { - foreach &spell in self.spells.iter() { + for &spell in self.spells.iter() { println(spell); } } diff --git a/src/test/run-pass/break.rs b/src/test/run-pass/break.rs index 46b6eec6fa6..aff4b7bd26e 100644 --- a/src/test/run-pass/break.rs +++ b/src/test/run-pass/break.rs @@ -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]; - foreach x in xs.iter() { + for 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]; - foreach x in ys.iter() { + for x in ys.iter() { if *x % 2 == 0 { loop; } assert!((*x % 2 != 0)); } diff --git a/src/test/run-pass/class-cast-to-trait-multiple-types.rs b/src/test/run-pass/class-cast-to-trait-multiple-types.rs index 6bfe7a8d790..a5d7ba2c1aa 100644 --- a/src/test/run-pass/class-cast-to-trait-multiple-types.rs +++ b/src/test/run-pass/class-cast-to-trait-multiple-types.rs @@ -83,7 +83,7 @@ fn cat(in_x : uint, in_y : int, in_name: ~str) -> cat { fn annoy_neighbors(critter: @noisy) { - foreach i in range(0u, 10) { critter.speak(); } + for i in range(0u, 10) { critter.speak(); } } pub fn main() { diff --git a/src/test/run-pass/class-impl-parameterized-trait.rs b/src/test/run-pass/class-impl-parameterized-trait.rs index 8f5fcaba4fb..93e9eac1dd9 100644 --- a/src/test/run-pass/class-impl-parameterized-trait.rs +++ b/src/test/run-pass/class-impl-parameterized-trait.rs @@ -75,7 +75,7 @@ class cat : map { pub fn main() { let nyan : cat = cat(0, 2, "nyan"); - foreach _ in range(1u, 5u) { nyan.speak(); } + for _ in range(1u, 5u) { nyan.speak(); } // cat returns true if uint input is greater than // the number of meows so far assert!((nyan.get(1))); diff --git a/src/test/run-pass/class-impl-very-parameterized-trait.rs b/src/test/run-pass/class-impl-very-parameterized-trait.rs index 921b35b7437..d42c57c3b81 100644 --- a/src/test/run-pass/class-impl-very-parameterized-trait.rs +++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs @@ -117,11 +117,11 @@ impl cat { pub fn main() { let mut nyan: cat<~str> = cat::new(0, 2, ~"nyan"); - foreach _ in range(1u, 5) { nyan.speak(); } + for _ in range(1u, 5) { nyan.speak(); } assert!(*nyan.find(&1).unwrap() == ~"nyan"); assert_eq!(nyan.find(&10), None); let mut spotty: cat = cat::new(2, 57, tuxedo); - foreach _ in range(0u, 6) { spotty.speak(); } + for _ in range(0u, 6) { spotty.speak(); } assert_eq!(spotty.len(), 8); assert!((spotty.contains_key(&2))); assert_eq!(spotty.get(&3), &tuxedo); diff --git a/src/test/run-pass/class-implement-trait-cross-crate.rs b/src/test/run-pass/class-implement-trait-cross-crate.rs index a5cc005b538..d4e1d438c94 100644 --- a/src/test/run-pass/class-implement-trait-cross-crate.rs +++ b/src/test/run-pass/class-implement-trait-cross-crate.rs @@ -63,6 +63,6 @@ pub fn main() { let mut nyan = cat(0u, 2, ~"nyan"); nyan.eat(); assert!((!nyan.eat())); - foreach _ in range(1u, 10u) { nyan.speak(); }; + for _ in range(1u, 10u) { nyan.speak(); }; assert!((nyan.eat())); } diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs index 05084ec9802..a064ce6769b 100644 --- a/src/test/run-pass/class-implement-traits.rs +++ b/src/test/run-pass/class-implement-traits.rs @@ -68,7 +68,7 @@ pub fn main() { let mut nyan = cat(0u, 2, ~"nyan"); nyan.eat(); assert!((!nyan.eat())); - foreach _ in range(1u, 10u) { + for _ in range(1u, 10u) { make_speak(nyan.clone()); } } diff --git a/src/test/run-pass/class-implements-multiple-traits.rs b/src/test/run-pass/class-implements-multiple-traits.rs index d33f2c26c92..4fccc45a753 100644 --- a/src/test/run-pass/class-implements-multiple-traits.rs +++ b/src/test/run-pass/class-implements-multiple-traits.rs @@ -95,7 +95,7 @@ class cat : noisy, scratchy, bitey { } fn annoy_neighbors(critter: T) { - foreach i in range(0u, 10u) { + for i in range(0u, 10u) { let what = critter.speak(); info!("%u %d", i, what); } diff --git a/src/test/run-pass/classes-cross-crate.rs b/src/test/run-pass/classes-cross-crate.rs index d14bcac5a24..e7848f3b960 100644 --- a/src/test/run-pass/classes-cross-crate.rs +++ b/src/test/run-pass/classes-cross-crate.rs @@ -19,6 +19,6 @@ pub fn main() { let mut nyan = cat(0u, 2, ~"nyan"); nyan.eat(); assert!((!nyan.eat())); - foreach _ in range(1u, 10u) { nyan.speak(); }; + for _ in range(1u, 10u) { nyan.speak(); }; assert!((nyan.eat())); } diff --git a/src/test/run-pass/classes.rs b/src/test/run-pass/classes.rs index 3200b476a72..e5220b15520 100644 --- a/src/test/run-pass/classes.rs +++ b/src/test/run-pass/classes.rs @@ -52,6 +52,6 @@ pub fn main() { let mut nyan = cat(0u, 2, ~"nyan"); nyan.eat(); assert!((!nyan.eat())); - foreach _ in range(1u, 10u) { nyan.speak(); }; + for _ in range(1u, 10u) { nyan.speak(); }; assert!((nyan.eat())); } diff --git a/src/test/run-pass/coerce-reborrow-imm-vec-arg.rs b/src/test/run-pass/coerce-reborrow-imm-vec-arg.rs index c31b72c1bd9..7fb01006844 100644 --- a/src/test/run-pass/coerce-reborrow-imm-vec-arg.rs +++ b/src/test/run-pass/coerce-reborrow-imm-vec-arg.rs @@ -1,6 +1,6 @@ fn sum(x: &[int]) -> int { let mut sum = 0; - foreach y in x.iter() { sum += *y; } + for y in x.iter() { sum += *y; } return sum; } diff --git a/src/test/run-pass/const-vec-of-fns.rs b/src/test/run-pass/const-vec-of-fns.rs index 07655cf3525..6117ea962af 100644 --- a/src/test/run-pass/const-vec-of-fns.rs +++ b/src/test/run-pass/const-vec-of-fns.rs @@ -24,6 +24,6 @@ struct S<'self>(&'self fn()); static closures: &'static [S<'static>] = &[S(f), S(f)]; pub fn main() { - foreach &bare_fn in bare_fns.iter() { bare_fn() } - foreach &closure in closures.iter() { (*closure)() } + for &bare_fn in bare_fns.iter() { bare_fn() } + for &closure in closures.iter() { (*closure)() } } diff --git a/src/test/run-pass/deriving-cmp-generic-enum.rs b/src/test/run-pass/deriving-cmp-generic-enum.rs index 0b070a6ec7a..094d17c100e 100644 --- a/src/test/run-pass/deriving-cmp-generic-enum.rs +++ b/src/test/run-pass/deriving-cmp-generic-enum.rs @@ -25,8 +25,8 @@ pub fn main() { // in order for both Ord and TotalOrd let es = [e0, e11, e12, e21, e22]; - foreach (i, e1) in es.iter().enumerate() { - foreach (j, e2) in es.iter().enumerate() { + for (i, e1) in es.iter().enumerate() { + for (j, e2) in es.iter().enumerate() { let ord = i.cmp(&j); let eq = i == j; diff --git a/src/test/run-pass/deriving-cmp-generic-struct.rs b/src/test/run-pass/deriving-cmp-generic-struct.rs index 026994590a0..d04bdee34e6 100644 --- a/src/test/run-pass/deriving-cmp-generic-struct.rs +++ b/src/test/run-pass/deriving-cmp-generic-struct.rs @@ -21,8 +21,8 @@ pub fn main() { // in order for both Ord and TotalOrd let ss = [s1, s2]; - foreach (i, s1) in ss.iter().enumerate() { - foreach (j, s2) in ss.iter().enumerate() { + for (i, s1) in ss.iter().enumerate() { + for (j, s2) in ss.iter().enumerate() { let ord = i.cmp(&j); let eq = i == j; diff --git a/src/test/run-pass/deriving-cmp-generic-tuple-struct.rs b/src/test/run-pass/deriving-cmp-generic-tuple-struct.rs index 4d7701703db..5d4cf7c7457 100644 --- a/src/test/run-pass/deriving-cmp-generic-tuple-struct.rs +++ b/src/test/run-pass/deriving-cmp-generic-tuple-struct.rs @@ -19,8 +19,8 @@ pub fn main() { // in order for both Ord and TotalOrd let tss = [ts1, ts2]; - foreach (i, ts1) in tss.iter().enumerate() { - foreach (j, ts2) in tss.iter().enumerate() { + for (i, ts1) in tss.iter().enumerate() { + for (j, ts2) in tss.iter().enumerate() { let ord = i.cmp(&j); let eq = i == j; diff --git a/src/test/run-pass/explicit-self-closures.rs b/src/test/run-pass/explicit-self-closures.rs index 10f825e32cd..ce662bafd49 100644 --- a/src/test/run-pass/explicit-self-closures.rs +++ b/src/test/run-pass/explicit-self-closures.rs @@ -16,10 +16,10 @@ struct Box { impl Box { pub fn set_many(&mut self, xs: &[uint]) { - foreach x in xs.iter() { self.x = *x; } + for x in xs.iter() { self.x = *x; } } pub fn set_many2(@mut self, xs: &[uint]) { - foreach x in xs.iter() { self.x = *x; } + for x in xs.iter() { self.x = *x; } } } diff --git a/src/test/run-pass/fn-pattern-expected-type-2.rs b/src/test/run-pass/fn-pattern-expected-type-2.rs index bf36d86c849..8102673586b 100644 --- a/src/test/run-pass/fn-pattern-expected-type-2.rs +++ b/src/test/run-pass/fn-pattern-expected-type-2.rs @@ -10,7 +10,7 @@ pub fn main() { let v : &[(int,int)] = &[ (1, 2), (3, 4), (5, 6) ]; - foreach &(x, y) in v.iter() { + for &(x, y) in v.iter() { println(y.to_str()); println(x.to_str()); } diff --git a/src/test/run-pass/for-loop-fail.rs b/src/test/run-pass/for-loop-fail.rs index 68d075834f5..ff718500340 100644 --- a/src/test/run-pass/for-loop-fail.rs +++ b/src/test/run-pass/for-loop-fail.rs @@ -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] = ~[]; foreach _ in x.iter() { fail!("moop"); } } +pub fn main() { let x: ~[int] = ~[]; for _ in x.iter() { fail!("moop"); } } diff --git a/src/test/run-pass/foreach-external-iterators-break.rs b/src/test/run-pass/foreach-external-iterators-break.rs index 74ff344b735..f5e7d91c225 100644 --- a/src/test/run-pass/foreach-external-iterators-break.rs +++ b/src/test/run-pass/foreach-external-iterators-break.rs @@ -11,7 +11,7 @@ fn main() { let x = [1,..100]; let mut y = 0; - foreach i in x.iter() { + for i in x.iter() { if y > 10 { break; } diff --git a/src/test/run-pass/foreach-external-iterators-hashmap-break-restart.rs b/src/test/run-pass/foreach-external-iterators-hashmap-break-restart.rs index 4b6421cb0d3..17c5bb5c0e2 100644 --- a/src/test/run-pass/foreach-external-iterators-hashmap-break-restart.rs +++ b/src/test/run-pass/foreach-external-iterators-hashmap-break-restart.rs @@ -17,7 +17,7 @@ use std::hashmap::HashMap; fn main() { let mut h = HashMap::new(); let kvs = [(1, 10), (2, 20), (3, 30)]; - foreach &(k,v) in kvs.iter() { + for &(k,v) in kvs.iter() { h.insert(k,v); } let mut x = 0; @@ -25,13 +25,13 @@ fn main() { let mut i = h.iter(); - foreach (&k,&v) in i { + for (&k,&v) in i { x += k; y += v; break; } - foreach (&k,&v) in i { + for (&k,&v) in i { x += k; y += v; } diff --git a/src/test/run-pass/foreach-external-iterators-hashmap.rs b/src/test/run-pass/foreach-external-iterators-hashmap.rs index bc6508c4a5f..908adc0d762 100644 --- a/src/test/run-pass/foreach-external-iterators-hashmap.rs +++ b/src/test/run-pass/foreach-external-iterators-hashmap.rs @@ -13,12 +13,12 @@ use std::hashmap::HashMap; fn main() { let mut h = HashMap::new(); let kvs = [(1, 10), (2, 20), (3, 30)]; - foreach &(k,v) in kvs.iter() { + for &(k,v) in kvs.iter() { h.insert(k,v); } let mut x = 0; let mut y = 0; - foreach (&k,&v) in h.iter() { + for (&k,&v) in h.iter() { x += k; y += v; } diff --git a/src/test/run-pass/foreach-external-iterators-loop.rs b/src/test/run-pass/foreach-external-iterators-loop.rs index 8db6b50f8cd..c999d810ec6 100644 --- a/src/test/run-pass/foreach-external-iterators-loop.rs +++ b/src/test/run-pass/foreach-external-iterators-loop.rs @@ -11,7 +11,7 @@ fn main() { let x = [1,..100]; let mut y = 0; - foreach (n,i) in x.iter().enumerate() { + for (n,i) in x.iter().enumerate() { if n < 10 { loop; } diff --git a/src/test/run-pass/foreach-external-iterators-nested.rs b/src/test/run-pass/foreach-external-iterators-nested.rs index ffc01ebff19..904c90dc815 100644 --- a/src/test/run-pass/foreach-external-iterators-nested.rs +++ b/src/test/run-pass/foreach-external-iterators-nested.rs @@ -13,8 +13,8 @@ fn main() { let y = [2,..100]; let mut p = 0; let mut q = 0; - foreach i in x.iter() { - foreach j in y.iter() { + for i in x.iter() { + for j in y.iter() { p += *j; } q += *i + p; diff --git a/src/test/run-pass/foreach-external-iterators.rs b/src/test/run-pass/foreach-external-iterators.rs index 55884cee4ec..c6f903821dd 100644 --- a/src/test/run-pass/foreach-external-iterators.rs +++ b/src/test/run-pass/foreach-external-iterators.rs @@ -11,7 +11,7 @@ fn main() { let x = [1,..100]; let mut y = 0; - foreach i in x.iter() { + for i in x.iter() { y += *i } assert!(y == 100); diff --git a/src/test/run-pass/generic-static-methods.rs b/src/test/run-pass/generic-static-methods.rs index 388f61c1b03..4945a25967a 100755 --- a/src/test/run-pass/generic-static-methods.rs +++ b/src/test/run-pass/generic-static-methods.rs @@ -15,7 +15,7 @@ trait vec_utils { impl vec_utils for ~[T] { fn map_(x: &~[T], f: &fn(&T) -> U) -> ~[U] { let mut r = ~[]; - foreach elt in x.iter() { + for elt in x.iter() { r.push(f(elt)); } r diff --git a/src/test/run-pass/hashmap-memory.rs b/src/test/run-pass/hashmap-memory.rs index 3d41065365c..a7b376f4aea 100644 --- a/src/test/run-pass/hashmap-memory.rs +++ b/src/test/run-pass/hashmap-memory.rs @@ -31,7 +31,7 @@ mod map_reduce { enum ctrl_proto { find_reducer(~[u8], Chan), mapper_done, } fn start_mappers(ctrl: SharedChan, inputs: ~[~str]) { - foreach i in inputs.iter() { + for i in inputs.iter() { let ctrl = ctrl.clone(); let i = i.clone(); task::spawn(|| map_task(ctrl.clone(), i.clone()) ); diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs index b86ad6d56f8..3f861147963 100644 --- a/src/test/run-pass/issue-2904.rs +++ b/src/test/run-pass/issue-2904.rs @@ -67,14 +67,14 @@ fn read_board_grid(input: rdr) -> ~[~[square]] { let mut grid = ~[]; do input.each_line |line| { let mut row = ~[]; - foreach c in line.iter() { + for c in line.iter() { row.push(square_from_char(c)) } grid.push(row); true }; let width = grid[0].len(); - foreach row in grid.iter() { assert!(row.len() == width) } + for row in grid.iter() { assert!(row.len() == width) } grid } diff --git a/src/test/run-pass/issue-2989.rs b/src/test/run-pass/issue-2989.rs index c46641ffbd6..f2ecd0413bd 100644 --- a/src/test/run-pass/issue-2989.rs +++ b/src/test/run-pass/issue-2989.rs @@ -40,7 +40,7 @@ pub fn main() { let bools = ~[false, false, true, false, false, true, true, false]; let bools2 = to_bools(Storage{storage: ~[0b01100100]}); - foreach i in range(0u, 8) { + for i in range(0u, 8) { printfln!("%u => %u vs %u", i, bools[i] as uint, bools2[i] as uint); } diff --git a/src/test/run-pass/issue-3389.rs b/src/test/run-pass/issue-3389.rs index 84d3db444e9..5bb88df4662 100644 --- a/src/test/run-pass/issue-3389.rs +++ b/src/test/run-pass/issue-3389.rs @@ -14,7 +14,7 @@ struct trie_node { } fn print_str_vector(vector: ~[~str]) { - foreach string in vector.iter() { + for string in vector.iter() { println(*string); } } diff --git a/src/test/run-pass/issue-3563-2.rs b/src/test/run-pass/issue-3563-2.rs index 7e9b637516f..e688b95f873 100644 --- a/src/test/run-pass/issue-3563-2.rs +++ b/src/test/run-pass/issue-3563-2.rs @@ -11,7 +11,7 @@ trait Canvas { fn add_point(&self, point: &int); fn add_points(&self, shapes: &[int]) { - foreach pt in shapes.iter() { + for pt in shapes.iter() { self.add_point(pt) } } diff --git a/src/test/run-pass/issue-3563-3.rs b/src/test/run-pass/issue-3563-3.rs index 2819a0471e9..69cc7851cd9 100644 --- a/src/test/run-pass/issue-3563-3.rs +++ b/src/test/run-pass/issue-3563-3.rs @@ -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]) { - foreach pt in shapes.iter() {self.add_point(*pt)}; + for pt in shapes.iter() {self.add_point(*pt)}; } } @@ -134,13 +134,13 @@ impl Canvas for AsciiArt { fn add_rect(&mut self, shape: Rect) { // Add the top and bottom lines. - foreach x in range(shape.top_left.x, shape.top_left.x + shape.size.width) { + for x in range(shape.top_left.x, shape.top_left.x + shape.size.width) { self.add_pt(x, shape.top_left.y); self.add_pt(x, shape.top_left.y + shape.size.height - 1); } // Add the left and right lines. - foreach y in range(shape.top_left.y, shape.top_left.y + shape.size.height) { + for y in range(shape.top_left.y, shape.top_left.y + shape.size.height) { self.add_pt(shape.top_left.x, y); self.add_pt(shape.top_left.x + shape.size.width - 1, y); } diff --git a/src/test/run-pass/issue-3609.rs b/src/test/run-pass/issue-3609.rs index 65d23e7916d..49f70b28e9a 100644 --- a/src/test/run-pass/issue-3609.rs +++ b/src/test/run-pass/issue-3609.rs @@ -17,7 +17,7 @@ fn foo(name: ~str, samples_chan: Chan) { let callback: SamplesFn = |buffer| { - foreach i in range(0u, buffer.len()) { + for i in range(0u, buffer.len()) { error!("%?: %f", i, buffer[i]) } }; diff --git a/src/test/run-pass/issue-4241.rs b/src/test/run-pass/issue-4241.rs index f9b374e7cd2..e0f216c667c 100644 --- a/src/test/run-pass/issue-4241.rs +++ b/src/test/run-pass/issue-4241.rs @@ -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"); - foreach s in cmd.iter() { + for s in cmd.iter() { res.push_str([~"$", s.len().to_str(), ~"\r\n", (*s).clone(), ~"\r\n"].concat() ); } diff --git a/src/test/run-pass/issue-4542.rs b/src/test/run-pass/issue-4542.rs index da46eb42152..f12aa6c3356 100644 --- a/src/test/run-pass/issue-4542.rs +++ b/src/test/run-pass/issue-4542.rs @@ -12,7 +12,7 @@ use std::os; pub fn main() { let x = os::args(); - foreach arg in x.iter() { + for arg in x.iter() { match arg.clone() { s => { } } diff --git a/src/test/run-pass/linear-for-loop.rs b/src/test/run-pass/linear-for-loop.rs index c6002afded7..01ee4e20638 100644 --- a/src/test/run-pass/linear-for-loop.rs +++ b/src/test/run-pass/linear-for-loop.rs @@ -11,12 +11,12 @@ pub fn main() { let x = ~[1, 2, 3]; let mut y = 0; - foreach i in x.iter() { info!(*i); y += *i; } + for i in x.iter() { info!(*i); y += *i; } info!(y); assert_eq!(y, 6); let s = ~"hello there"; let mut i: int = 0; - foreach c in s.byte_iter() { + for 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)); } diff --git a/src/test/run-pass/loop-scope.rs b/src/test/run-pass/loop-scope.rs index 746487f8aff..436bdf256ca 100644 --- a/src/test/run-pass/loop-scope.rs +++ b/src/test/run-pass/loop-scope.rs @@ -11,6 +11,6 @@ pub fn main() { let x = ~[10, 20, 30]; let mut sum = 0; - foreach x in x.iter() { sum += *x; } + for x in x.iter() { sum += *x; } assert_eq!(sum, 60); } diff --git a/src/test/run-pass/lots-a-fail.rs b/src/test/run-pass/lots-a-fail.rs index 9f79ca2f936..cec0a7a756c 100644 --- a/src/test/run-pass/lots-a-fail.rs +++ b/src/test/run-pass/lots-a-fail.rs @@ -22,7 +22,7 @@ fn iloop() { } pub fn main() { - foreach _ in range(0u, 100u) { + for _ in range(0u, 100u) { task::spawn_unlinked(|| iloop() ); } } diff --git a/src/test/run-pass/monad.rs b/src/test/run-pass/monad.rs index 316f872b82f..eeac89f4966 100644 --- a/src/test/run-pass/monad.rs +++ b/src/test/run-pass/monad.rs @@ -19,7 +19,7 @@ trait vec_monad { impl vec_monad for ~[A] { fn bind(&self, f: &fn(&A) -> ~[B]) -> ~[B] { let mut r = ~[]; - foreach elt in self.iter() { + for elt in self.iter() { r.push_all_move(f(elt)); } r diff --git a/src/test/run-pass/morestack6.rs b/src/test/run-pass/morestack6.rs index a4a1f4bb28f..45473193de9 100644 --- a/src/test/run-pass/morestack6.rs +++ b/src/test/run-pass/morestack6.rs @@ -67,7 +67,7 @@ pub fn main() { calllink10 ]; let mut rng = rand::rng(); - foreach f in fns.iter() { + for f in fns.iter() { let f = *f; let sz = rng.next() % 256u32 + 256u32; let frame_backoff = rng.next() % 10u32 + 1u32; diff --git a/src/test/run-pass/move-3-unique.rs b/src/test/run-pass/move-3-unique.rs index 827c43cbcae..46308e02e78 100644 --- a/src/test/run-pass/move-3-unique.rs +++ b/src/test/run-pass/move-3-unique.rs @@ -26,7 +26,7 @@ fn test(x: bool, foo: ~Triple) -> int { pub fn main() { let x = ~Triple{x: 1, y: 2, z: 3}; - foreach _ in range(0u, 10000u) { + for _ in range(0u, 10000u) { assert_eq!(test(true, x.clone()), 2); } assert_eq!(test(false, x), 5); diff --git a/src/test/run-pass/move-3.rs b/src/test/run-pass/move-3.rs index a33098ad723..dbc7886adc9 100644 --- a/src/test/run-pass/move-3.rs +++ b/src/test/run-pass/move-3.rs @@ -21,7 +21,7 @@ fn test(x: bool, foo: @Triple) -> int { pub fn main() { let x = @Triple{x: 1, y: 2, z: 3}; - foreach i in range(0u, 10000u) { + for i in range(0u, 10000u) { assert_eq!(test(true, x), 2); } assert_eq!(test(false, x), 5); diff --git a/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs b/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs index 5de4b74922c..855c77e92cf 100644 --- a/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs +++ b/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs @@ -16,8 +16,8 @@ fn test1() { fn test2() { let mut ints = [0, ..32]; - foreach i in ints.mut_iter() { *i += 22; } - foreach i in ints.iter() { assert!(*i == 22); } + for i in ints.mut_iter() { *i += 22; } + for i in ints.iter() { assert!(*i == 22); } } pub fn main() { diff --git a/src/test/run-pass/overload-index-operator.rs b/src/test/run-pass/overload-index-operator.rs index 706168844f5..0f83a8e730e 100644 --- a/src/test/run-pass/overload-index-operator.rs +++ b/src/test/run-pass/overload-index-operator.rs @@ -31,7 +31,7 @@ impl AssociationList { impl Index for AssociationList { fn index(&self, index: &K) -> V { - foreach pair in self.pairs.iter() { + for pair in self.pairs.iter() { if pair.key == *index { return pair.value.clone(); } diff --git a/src/test/run-pass/owned-trait-objects.rs b/src/test/run-pass/owned-trait-objects.rs index dd570f85244..c9d0fde6d3c 100644 --- a/src/test/run-pass/owned-trait-objects.rs +++ b/src/test/run-pass/owned-trait-objects.rs @@ -29,7 +29,7 @@ pub fn main() { ~BarStruct{ x: 2 } as ~FooTrait ]; - foreach i in range(0u, foos.len()) { + for i in range(0u, foos.len()) { assert_eq!(i, foos[i].foo()); } } diff --git a/src/test/run-pass/packed-struct-vec.rs b/src/test/run-pass/packed-struct-vec.rs index 844a7c732a3..930ef17dbf5 100644 --- a/src/test/run-pass/packed-struct-vec.rs +++ b/src/test/run-pass/packed-struct-vec.rs @@ -22,11 +22,11 @@ fn main() { assert_eq!(sys::size_of::<[Foo, .. 10]>(), 90); - foreach i in range(0u, 10) { + for i in range(0u, 10) { assert_eq!(foos[i], Foo { bar: 1, baz: 2}); } - foreach &foo in foos.iter() { + for &foo in foos.iter() { assert_eq!(foo, Foo { bar: 1, baz: 2 }); } } diff --git a/src/test/run-pass/pattern-bound-var-in-for-each.rs b/src/test/run-pass/pattern-bound-var-in-for-each.rs index 2bdb381ee2c..d3ae339acf2 100644 --- a/src/test/run-pass/pattern-bound-var-in-for-each.rs +++ b/src/test/run-pass/pattern-bound-var-in-for-each.rs @@ -16,7 +16,7 @@ fn foo(src: uint) { match Some(src) { Some(src_id) => { - foreach i in range(0u, 10u) { + for i in range(0u, 10u) { let yyy = src_id; assert_eq!(yyy, 0u); } diff --git a/src/test/run-pass/private-method.rs b/src/test/run-pass/private-method.rs index c218b6ba013..8b2b5bfa00b 100644 --- a/src/test/run-pass/private-method.rs +++ b/src/test/run-pass/private-method.rs @@ -22,7 +22,7 @@ impl cat { } impl cat { - fn nap(&mut self) { foreach _ in range(1u, 10u) { } } + fn nap(&mut self) { for _ in range(1u, 10u) { } } } fn cat(in_x : uint, in_y : int) -> cat { diff --git a/src/test/run-pass/reflect-visit-data.rs b/src/test/run-pass/reflect-visit-data.rs index 090b5f549d4..2a91d1fc8b5 100644 --- a/src/test/run-pass/reflect-visit-data.rs +++ b/src/test/run-pass/reflect-visit-data.rs @@ -666,7 +666,7 @@ pub fn main() { visit_tydesc(td, v); let r = u.vals.clone(); - foreach s in r.iter() { + for s in r.iter() { printfln!("val: %s", *s); } error!("%?", u.vals.clone()); diff --git a/src/test/run-pass/reflect-visit-type.rs b/src/test/run-pass/reflect-visit-type.rs index e80dc2269c2..3ea597e0d59 100644 --- a/src/test/run-pass/reflect-visit-type.rs +++ b/src/test/run-pass/reflect-visit-type.rs @@ -170,7 +170,7 @@ pub fn main() { visit_ty::(vv); visit_ty::<~[int]>(vv); - foreach s in v.types.iter() { + for s in v.types.iter() { printfln!("type: %s", (*s).clone()); } assert_eq!((*v.types).clone(), ~[~"bool", ~"int", ~"i8", ~"i16", ~"[", ~"int", ~"]"]); diff --git a/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs b/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs index a727c28fe83..6284130de17 100644 --- a/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs +++ b/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs @@ -13,7 +13,7 @@ use std::util; pub fn main() { let mut x = 4; - foreach i in range(0u, 3) { + for i in range(0u, 3) { // ensure that the borrow in this alt // does not inferfere with the swap // below. note that it would it you diff --git a/src/test/run-pass/send-iloop.rs b/src/test/run-pass/send-iloop.rs index 65c5ca0aee7..e27f35d1851 100644 --- a/src/test/run-pass/send-iloop.rs +++ b/src/test/run-pass/send-iloop.rs @@ -33,7 +33,7 @@ fn iloop() { } pub fn main() { - foreach _ in range(0u, 16u) { + for _ in range(0u, 16u) { task::spawn_unlinked(|| iloop() ); } } diff --git a/src/test/run-pass/shadow.rs b/src/test/run-pass/shadow.rs index 5cb2f9b8727..5109f3c92f1 100644 --- a/src/test/run-pass/shadow.rs +++ b/src/test/run-pass/shadow.rs @@ -16,7 +16,7 @@ fn foo(c: ~[int]) { match none:: { some::(_) => { - foreach i in c.iter() { + for i in c.iter() { info!(a); let a = 17; b.push(a); diff --git a/src/test/run-pass/stat.rs b/src/test/run-pass/stat.rs index babf5a2fa90..057bc57269d 100644 --- a/src/test/run-pass/stat.rs +++ b/src/test/run-pass/stat.rs @@ -26,7 +26,7 @@ pub fn main() { match io::file_writer(&path, [io::Create, io::Truncate]) { Err(ref e) => fail!(e.clone()), Ok(f) => { - foreach _ in range(0u, 1000) { + for _ in range(0u, 1000) { f.write_u8(0); } } diff --git a/src/test/run-pass/static-impl.rs b/src/test/run-pass/static-impl.rs index 4f86c87518a..457c5a3352d 100644 --- a/src/test/run-pass/static-impl.rs +++ b/src/test/run-pass/static-impl.rs @@ -48,10 +48,10 @@ trait vec_utils { impl vec_utils for ~[T] { fn length_(&self) -> uint { self.len() } - fn iter_(&self, f: &fn(&T)) { foreach x in self.iter() { f(x); } } + fn iter_(&self, f: &fn(&T)) { for x in self.iter() { f(x); } } fn map_(&self, f: &fn(&T) -> U) -> ~[U] { let mut r = ~[]; - foreach elt in self.iter() { + for elt in self.iter() { r.push(f(elt)); } r diff --git a/src/test/run-pass/task-comm-3.rs b/src/test/run-pass/task-comm-3.rs index ba0e17d4576..b9083f28972 100644 --- a/src/test/run-pass/task-comm-3.rs +++ b/src/test/run-pass/task-comm-3.rs @@ -55,7 +55,7 @@ fn test00() { // Read from spawned tasks... let mut sum = 0; - foreach r in results.iter() { + for r in results.iter() { i = 0; while i < number_of_messages { let value = po.recv(); @@ -65,7 +65,7 @@ fn test00() { } // Join spawned tasks... - foreach r in results.iter() { r.recv(); } + for r in results.iter() { r.recv(); } info!("Completed: Final number is: "); error!(sum); diff --git a/src/test/run-pass/trait-bounds-in-arc.rs b/src/test/run-pass/trait-bounds-in-arc.rs index e0be4ccf810..1360b76653c 100644 --- a/src/test/run-pass/trait-bounds-in-arc.rs +++ b/src/test/run-pass/trait-bounds-in-arc.rs @@ -84,20 +84,20 @@ fn main() { fn check_legs(arc: arc::Arc<~[~Pet:Freeze+Send]>) { let mut legs = 0; - foreach pet in arc.get().iter() { + for pet in arc.get().iter() { legs += pet.num_legs(); } assert!(legs == 12); } fn check_names(arc: arc::Arc<~[~Pet:Freeze+Send]>) { - foreach pet in arc.get().iter() { + for 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]>) { - foreach pet in arc.get().iter() { + for pet in arc.get().iter() { assert!(pet.of_good_pedigree()); } } diff --git a/src/test/run-pass/trait-generic.rs b/src/test/run-pass/trait-generic.rs index 24e2b95a5df..47d9665217c 100644 --- a/src/test/run-pass/trait-generic.rs +++ b/src/test/run-pass/trait-generic.rs @@ -32,7 +32,7 @@ impl map for ~[T] { fn map(&self, f: &fn(&T) -> U) -> ~[U] { let mut r = ~[]; // FIXME: #7355 generates bad code with VecIterator - foreach i in range(0u, self.len()) { + for i in range(0u, self.len()) { r.push(f(&self[i])); } r diff --git a/src/test/run-pass/unfoldr-cross-crate.rs b/src/test/run-pass/unfoldr-cross-crate.rs index a5b85681420..2471aee3c21 100644 --- a/src/test/run-pass/unfoldr-cross-crate.rs +++ b/src/test/run-pass/unfoldr-cross-crate.rs @@ -26,7 +26,7 @@ fn main() { let mut it = Unfoldr::new(0, count); let mut i = 0; - foreach counted in it { + for counted in it { assert_eq!(counted, i); i += 1; } diff --git a/src/test/run-pass/unique-send-2.rs b/src/test/run-pass/unique-send-2.rs index 60d28d832df..9face041eb2 100644 --- a/src/test/run-pass/unique-send-2.rs +++ b/src/test/run-pass/unique-send-2.rs @@ -20,14 +20,14 @@ pub fn main() { let ch = SharedChan::new(ch); let n = 100u; let mut expected = 0u; - foreach i in range(0u, n) { + for i in range(0u, n) { let ch = ch.clone(); task::spawn(|| child(&ch, i) ); expected += i; } let mut actual = 0u; - foreach _ in range(0u, n) { + for _ in range(0u, n) { let j = p.recv(); actual += *j; } diff --git a/src/test/run-pass/utf8.rs b/src/test/run-pass/utf8.rs index 1ebe72d19c1..0eb3fd75dc3 100644 --- a/src/test/run-pass/utf8.rs +++ b/src/test/run-pass/utf8.rs @@ -41,7 +41,7 @@ pub fn main() { fn check_str_eq(a: ~str, b: ~str) { let mut i: int = 0; - foreach ab in a.byte_iter() { + for ab in a.byte_iter() { info!(i); info!(ab); let bb: u8 = b[i];