Skip to content

Commit c902eaf

Browse files
committed
Convert old-style for loops to new-style
Most could use the each method, but because of the hack used to disambiguate old- and new-style loops, some had to use vec::each. (This hack will go away soon.) Issue #1619
1 parent 9c88e5e commit c902eaf

Some content is hidden

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

99 files changed

+623
-625
lines changed

src/cargo/cargo.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ fn load_link(mis: [@ast::meta_item]) -> (option<str>,
9393
let mut name = none;
9494
let mut vers = none;
9595
let mut uuid = none;
96-
for a: @ast::meta_item in mis {
96+
for mis.each {|a|
9797
alt a.node {
9898
ast::meta_name_value(v, {node: ast::lit_str(s), span: _}) {
9999
alt v {
@@ -128,7 +128,7 @@ fn load_pkg(filename: str) -> option<pkg> {
128128
let mut sigs = none;
129129
let mut crate_type = none;
130130

131-
for a in c.node.attrs {
131+
for c.node.attrs.each {|a|
132132
alt a.node.value.node {
133133
ast::meta_name_value(v, {node: ast::lit_str(s), span: _}) {
134134
alt v {
@@ -273,7 +273,7 @@ fn load_one_source_package(&src: source, p: map::hashmap<str, json::json>) {
273273
let mut tags = [];
274274
alt p.find("tags") {
275275
some(json::list(js)) {
276-
for j in js {
276+
for js.each {|j|
277277
alt j {
278278
json::string(_j) { vec::grow(tags, 1u, _j); }
279279
_ { }
@@ -313,7 +313,7 @@ fn load_source_packages(&c: cargo, &src: source) {
313313
let pkgstr = io::read_whole_file_str(pkgfile);
314314
alt json::from_str(result::get(pkgstr)) {
315315
ok(json::list(js)) {
316-
for _j: json::json in js {
316+
for js.each {|_j|
317317
alt _j {
318318
json::dict(_p) {
319319
load_one_source_package(src, _p);
@@ -423,7 +423,7 @@ fn configure(opts: options) -> cargo {
423423

424424
fn for_each_package(c: cargo, b: fn(source, package)) {
425425
c.sources.values({ |v|
426-
for p in copy v.packages {
426+
for vec::each(copy v.packages) {|p|
427427
b(v, p);
428428
}
429429
})
@@ -432,7 +432,7 @@ fn for_each_package(c: cargo, b: fn(source, package)) {
432432
// Runs all programs in directory <buildpath>
433433
fn run_programs(buildpath: str) {
434434
let newv = os::list_dir_path(buildpath);
435-
for ct: str in newv {
435+
for newv.each {|ct|
436436
run::run_program(ct, []);
437437
}
438438
}
@@ -470,7 +470,7 @@ fn install_one_crate(c: cargo, path: str, cf: str) {
470470
};
471471
let newv = os::list_dir_path(buildpath);
472472
let exec_suffix = os::exe_suffix();
473-
for ct: str in newv {
473+
for newv.each {|ct|
474474
if (exec_suffix != "" && str::ends_with(ct, exec_suffix)) ||
475475
(exec_suffix == "" && !str::starts_with(path::basename(ct),
476476
"lib")) {
@@ -528,7 +528,7 @@ fn install_source(c: cargo, path: str) {
528528
fail "This doesn't look like a rust package (no .rc files).";
529529
}
530530

531-
for cf: str in cratefiles {
531+
for cratefiles.each {|cf|
532532
let p = load_pkg(cf);
533533
alt p {
534534
none { cont; }
@@ -618,7 +618,8 @@ fn install_uuid(c: cargo, wd: str, uuid: str) {
618618
ret;
619619
}
620620
error("Found multiple packages:");
621-
for (s,p) in ps {
621+
for ps.each {|elt|
622+
let (s,p) = elt;
622623
info(" " + s.name + "/" + p.uuid + " (" + p.name + ")");
623624
}
624625
}
@@ -639,7 +640,8 @@ fn install_named(c: cargo, wd: str, name: str) {
639640
ret;
640641
}
641642
error("Found multiple packages:");
642-
for (s,p) in ps {
643+
for ps.each {|elt|
644+
let (s,p) = elt;
643645
info(" " + s.name + "/" + p.uuid + " (" + p.name + ")");
644646
}
645647
}

src/cargo/pgp.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,9 @@ fn verify(root: str, data: str, sig: str, keyfp: str) -> bool {
8989
let p = gpg(["--homedir", path, "--with-fingerprint", "--verify", sig,
9090
data]);
9191
let res = "Primary key fingerprint: " + keyfp;
92-
for line in str::split_char(p.err, '\n') {
93-
if line == res {
94-
ret true;
95-
}
92+
let mut rslt = false;
93+
for str::split_char(p.err, '\n').each {|line|
94+
if line == res { rslt = true; }
9695
}
97-
ret false;
96+
ret rslt;
9897
}

src/compiletest/compiletest.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ fn test_opts(config: config) -> test::test_opts {
135135
fn make_tests(config: config) -> [test::test_desc] {
136136
#debug("making tests from %s", config.src_base);
137137
let mut tests = [];
138-
for file: str in os::list_dir_path(config.src_base) {
138+
for os::list_dir_path(config.src_base).each {|file|
139139
let file = file;
140140
#debug("inspecting file %s", file);
141141
if is_test(config, file) {
@@ -154,11 +154,11 @@ fn is_test(config: config, testfile: str) -> bool {
154154

155155
let mut valid = false;
156156

157-
for ext in valid_extensions {
157+
for valid_extensions.each {|ext|
158158
if str::ends_with(name, ext) { valid = true; }
159159
}
160160

161-
for pre in invalid_prefixes {
161+
for invalid_prefixes.each {|pre|
162162
if str::starts_with(name, pre) { valid = false; }
163163
}
164164

src/compiletest/runtest.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ fn check_error_patterns(props: test_props,
196196

197197
let mut next_err_idx = 0u;
198198
let mut next_err_pat = props.error_patterns[next_err_idx];
199-
for line: str in str::split_char(procres.stderr, '\n') {
199+
for str::split_char(procres.stderr, '\n').each {|line|
200200
if str::contains(line, next_err_pat) {
201201
#debug("found error pattern %s", next_err_pat);
202202
next_err_idx += 1u;
@@ -215,7 +215,7 @@ fn check_error_patterns(props: test_props,
215215
fatal_procres(#fmt["error pattern '%s' not found!",
216216
missing_patterns[0]], procres);
217217
} else {
218-
for pattern: str in missing_patterns {
218+
for missing_patterns.each {|pattern|
219219
error(#fmt["error pattern '%s' not found!", pattern]);
220220
}
221221
fatal_procres("multiple error patterns not found", procres);
@@ -244,7 +244,7 @@ fn check_expected_errors(expected_errors: [errors::expected_error],
244244
// filename:line1:col1: line2:col2: *warning:* msg
245245
// where line1:col1: is the starting point, line2:col2:
246246
// is the ending point, and * represents ANSI color codes.
247-
for line: str in str::split_char(procres.stderr, '\n') {
247+
for str::split_char(procres.stderr, '\n').each {|line|
248248
let mut was_expected = false;
249249
for vec::eachi(expected_errors) {|i, ee|
250250
if !found_flags[i] {

src/fuzzer/fuzzer.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fn find_rust_files(&files: [str], path: str) {
2525
} else if os::path_is_dir(path)
2626
&& !contains(path, "compile-fail")
2727
&& !contains(path, "build") {
28-
for p in os::list_dir_path(path) {
28+
for os::list_dir_path(path).each {|p|
2929
find_rust_files(files, p);
3030
}
3131
}
@@ -439,15 +439,15 @@ fn content_is_dangerous_to_run(code: str) -> bool {
439439
"unsafe",
440440
"log"]; // python --> rust pipe deadlock?
441441

442-
for p: str in dangerous_patterns { if contains(code, p) { ret true; } }
442+
for dangerous_patterns.each {|p| if contains(code, p) { ret true; } }
443443
ret false;
444444
}
445445

446446
fn content_is_dangerous_to_compile(code: str) -> bool {
447447
let dangerous_patterns =
448448
["xfail-test"];
449449

450-
for p: str in dangerous_patterns { if contains(code, p) { ret true; } }
450+
for dangerous_patterns.each {|p| if contains(code, p) { ret true; } }
451451
ret false;
452452
}
453453

@@ -462,7 +462,7 @@ fn content_might_not_converge(code: str) -> bool {
462462
"\n\n\n\n\n" // https://github.com/mozilla/rust/issues/850
463463
];
464464

465-
for p: str in confusing_patterns { if contains(code, p) { ret true; } }
465+
for confusing_patterns.each {|p| if contains(code, p) { ret true; } }
466466
ret false;
467467
}
468468

@@ -475,7 +475,7 @@ fn file_might_not_converge(filename: str) -> bool {
475475
];
476476

477477

478-
for f in confusing_files { if contains(filename, f) { ret true; } }
478+
for confusing_files.each {|f| if contains(filename, f) { ret true; } }
479479

480480
ret false;
481481
}
@@ -509,7 +509,7 @@ fn check_roundtrip_convergence(code: @str, maxIters: uint) {
509509

510510
fn check_convergence(files: [str]) {
511511
#error("pp convergence tests: %u files", vec::len(files));
512-
for file in files {
512+
for files.each {|file|
513513
if !file_might_not_converge(file) {
514514
let s = @result::get(io::read_whole_file_str(file));
515515
if !content_might_not_converge(*s) {
@@ -522,7 +522,7 @@ fn check_convergence(files: [str]) {
522522
}
523523

524524
fn check_variants(files: [str], cx: context) {
525-
for file in files {
525+
for files.each {|file|
526526
if cx.mode == tm_converge && file_might_not_converge(file) {
527527
#error("Skipping convergence test based on file_might_not_converge");
528528
cont;

src/libcore/vec.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export zip;
6262
export swap;
6363
export reverse;
6464
export reversed;
65-
export iter, each, eachi;
65+
export iter, iter_between, each, eachi;
6666
export iter2;
6767
export iteri;
6868
export riter;

src/librustsyntax/ast_util.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ fn float_ty_to_str(t: float_ty) -> str {
142142
fn is_exported(i: ident, m: _mod) -> bool {
143143
let mut local = false;
144144
let mut parent_enum : option<ident> = none;
145-
for it: @item in m.items {
145+
for m.items.each {|it|
146146
if it.ident == i { local = true; }
147147
alt it.node {
148148
item_enum(variants, _) {
149-
for v: variant in variants {
149+
for variants.each {|v|
150150
if v.node.name == i {
151151
local = true;
152152
parent_enum = some(it.ident);
@@ -158,11 +158,11 @@ fn is_exported(i: ident, m: _mod) -> bool {
158158
if local { break; }
159159
}
160160
let mut has_explicit_exports = false;
161-
for vi: @view_item in m.view_items {
161+
for m.view_items.each {|vi|
162162
alt vi.node {
163163
view_item_export(vps) {
164164
has_explicit_exports = true;
165-
for vp in vps {
165+
for vps.each {|vp|
166166
alt vp.node {
167167
ast::view_path_simple(id, _, _) {
168168
if id == i { ret true; }
@@ -177,7 +177,7 @@ fn is_exported(i: ident, m: _mod) -> bool {
177177
ast::view_path_list(path, ids, _) {
178178
if vec::len(*path) == 1u {
179179
if i == path[0] { ret true; }
180-
for id in ids {
180+
for ids.each {|id|
181181
if id.node.name == i { ret true; }
182182
}
183183
} else {
@@ -278,14 +278,14 @@ fn public_methods(ms: [@method]) -> [@method] {
278278

279279
fn split_class_items(cs: [@class_member]) -> ([ivar], [@method]) {
280280
let mut vs = [], ms = [];
281-
for c in cs {
281+
for cs.each {|c|
282282
alt c.node {
283283
instance_var(i, t, cm, id, privacy) {
284284
vs += [{ident: i, ty: t, cm: cm, id: id, privacy: privacy}];
285285
}
286286
class_method(m) { ms += [m]; }
287287
}
288-
}
288+
};
289289
(vs, ms)
290290
}
291291

src/librustsyntax/attr.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ fn find_linkage_metas(attrs: [ast::attribute]) -> [@ast::meta_item] {
4646

4747
fn find_linkage_attrs(attrs: [ast::attribute]) -> [ast::attribute] {
4848
let mut found = [];
49-
for attr: ast::attribute in find_attrs_by_name(attrs, "link") {
49+
for find_attrs_by_name(attrs, "link").each {|attr|
5050
alt attr.node.value.node {
5151
ast::meta_list(_, _) { found += [attr] }
5252
_ { #debug("ignoring link attribute that has incorrect type"); }
@@ -150,7 +150,7 @@ fn attr_meta(attr: ast::attribute) -> @ast::meta_item { @attr.node.value }
150150
// Get the meta_items from inside a vector of attributes
151151
fn attr_metas(attrs: [ast::attribute]) -> [@ast::meta_item] {
152152
let mut mitems = [];
153-
for a: ast::attribute in attrs { mitems += [attr_meta(a)]; }
153+
for attrs.each {|a| mitems += [attr_meta(a)]; }
154154
ret mitems;
155155
}
156156

@@ -178,7 +178,7 @@ fn eq(a: @ast::meta_item, b: @ast::meta_item) -> bool {
178178
fn contains(haystack: [@ast::meta_item], needle: @ast::meta_item) -> bool {
179179
#debug("looking for %s",
180180
print::pprust::meta_item_to_str(*needle));
181-
for item: @ast::meta_item in haystack {
181+
for haystack.each {|item|
182182
#debug("looking in %s",
183183
print::pprust::meta_item_to_str(*item));
184184
if eq(item, needle) { #debug("found it!"); ret true; }
@@ -207,12 +207,12 @@ fn sort_meta_items(items: [@ast::meta_item]) -> [@ast::meta_item] {
207207

208208
// This is sort of stupid here, converting to a vec of mutables and back
209209
let mut v: [mut @ast::meta_item] = [mut];
210-
for mi: @ast::meta_item in items { v += [mut mi]; }
210+
for items.each {|mi| v += [mut mi]; }
211211

212212
std::sort::quick_sort(lteq, v);
213213

214214
let mut v2: [@ast::meta_item] = [];
215-
for mi: @ast::meta_item in v { v2 += [mi]; }
215+
for v.each {|mi| v2 += [mi]; }
216216
ret v2;
217217
}
218218

@@ -231,7 +231,7 @@ fn remove_meta_items_by_name(items: [@ast::meta_item], name: str) ->
231231
fn require_unique_names(diagnostic: span_handler,
232232
metas: [@ast::meta_item]) {
233233
let map = map::str_hash();
234-
for meta: @ast::meta_item in metas {
234+
for metas.each {|meta|
235235
let name = get_meta_item_name(meta);
236236
if map.contains_key(name) {
237237
diagnostic.span_fatal(meta.span,

src/librustsyntax/codemap.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ fn get_snippet(cm: codemap::codemap, fidx: uint, lo: uint, hi: uint) -> str
187187
}
188188

189189
fn get_filemap(cm: codemap, filename: str) -> filemap {
190-
for fm: filemap in cm.files { if fm.name == filename { ret fm; } }
190+
for cm.files.each {|fm| if fm.name == filename { ret fm; } }
191191
//XXjdm the following triggers a mismatched type bug
192192
// (or expected function, found _|_)
193193
fail; // ("asking for " + filename + " which we don't know about");

src/librustsyntax/diagnostic.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ fn highlight_lines(cm: codemap::codemap, sp: span,
201201
elided = true;
202202
}
203203
// Print the offending lines
204-
for line: uint in display_lines {
204+
for display_lines.each {|line|
205205
io::stderr().write_str(#fmt["%s:%u ", fm.name, line + 1u]);
206206
let s = codemap::get_line(fm, line as int) + "\n";
207207
io::stderr().write_str(s);

src/librustsyntax/ext/build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ fn mk_rec_e(cx: ext_ctxt, sp: span,
6868
fields: [{ident: ast::ident, ex: @ast::expr}]) ->
6969
@ast::expr {
7070
let mut astfields: [ast::field] = [];
71-
for field: {ident: ast::ident, ex: @ast::expr} in fields {
71+
for fields.each {|field|
7272
let ident = field.ident;
7373
let val = field.ex;
7474
let astfield =

src/librustsyntax/ext/concat_idents.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ fn expand_syntax_ext(cx: ext_ctxt, sp: codemap::span, arg: ast::mac_arg,
1111
}
1212
};
1313
let mut res: ast::ident = "";
14-
for e: @ast::expr in args {
14+
for args.each {|e|
1515
res += expr_to_ident(cx, e, "expected an ident");
1616
}
1717

0 commit comments

Comments
 (0)