diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2012-10-18 09:14:11 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2012-10-18 10:09:57 -0700 |
| commit | a7ecde33238f46ae473ceb63db95068f1ce6cffd (patch) | |
| tree | 957aa88a448120578a5e503c874a9b7fa90e5e47 /src/rustc | |
| parent | 95423d28f221ac67bad7e7c6396b983705a056ae (diff) | |
| download | rust-a7ecde33238f46ae473ceb63db95068f1ce6cffd.tar.gz rust-a7ecde33238f46ae473ceb63db95068f1ce6cffd.zip | |
libcore: minor code cleanup.
This is minor and probably completely inconsequential to performance, but I find vec::map to be more clear than vec::each and a push.
Diffstat (limited to 'src/rustc')
| -rw-r--r-- | src/rustc/back/upcall.rs | 3 | ||||
| -rw-r--r-- | src/rustc/metadata/decoder.rs | 13 | ||||
| -rw-r--r-- | src/rustc/util/common.rs | 4 | ||||
| -rw-r--r-- | src/rustc/util/ppaux.rs | 9 |
4 files changed, 11 insertions, 18 deletions
diff --git a/src/rustc/back/upcall.rs b/src/rustc/back/upcall.rs index a2c864f6f46..45e7cd4e9d4 100644 --- a/src/rustc/back/upcall.rs +++ b/src/rustc/back/upcall.rs @@ -27,8 +27,7 @@ fn declare_upcalls(targ_cfg: @session::config, fn decl(llmod: ModuleRef, prefix: ~str, name: ~str, tys: ~[TypeRef], rv: TypeRef) -> ValueRef { - let mut arg_tys: ~[TypeRef] = ~[]; - for tys.each |t| { arg_tys.push(*t); } + let arg_tys = tys.map(|t| *t); let fn_ty = T_fn(arg_tys, rv); return base::decl_cdecl_fn(llmod, prefix + name, fn_ty); } diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs index f0911bd1aa2..1656efbd966 100644 --- a/src/rustc/metadata/decoder.rs +++ b/src/rustc/metadata/decoder.rs @@ -598,13 +598,12 @@ fn get_enum_variants(intr: @ident_interner, cdata: cmd, id: ast::node_id, let ctor_ty = item_type({crate: cdata.cnum, node: id}, item, tcx, cdata); let name = item_name(intr, item); - let mut arg_tys: ~[ty::t] = ~[]; - match ty::get(ctor_ty).sty { - ty::ty_fn(f) => { - for f.sig.inputs.each |a| { arg_tys.push(a.ty); } - } - _ => { /* Nullary enum variant. */ } - } + let arg_tys = match ty::get(ctor_ty).sty { + ty::ty_fn(f) => f.sig.inputs.map(|a| a.ty), + + // Nullary enum variant. + _ => ~[], + }; match variant_disr_val(item) { Some(val) => { disr_val = val; } _ => { /* empty */ } diff --git a/src/rustc/util/common.rs b/src/rustc/util/common.rs index 0c6ec267da8..123905adba1 100644 --- a/src/rustc/util/common.rs +++ b/src/rustc/util/common.rs @@ -34,9 +34,7 @@ type flag = HashMap<~str, ()>; fn field_expr(f: ast::field) -> @ast::expr { return f.node.expr; } fn field_exprs(fields: ~[ast::field]) -> ~[@ast::expr] { - let mut es = ~[]; - for fields.each |f| { es.push(f.node.expr); } - return es; + fields.map(|f| f.node.expr) } // Takes a predicate p, returns true iff p is true for any subexpressions diff --git a/src/rustc/util/ppaux.rs b/src/rustc/util/ppaux.rs index 27ace283fa0..8207082cf20 100644 --- a/src/rustc/util/ppaux.rs +++ b/src/rustc/util/ppaux.rs @@ -282,8 +282,7 @@ fn ty_to_str(cx: ctxt, typ: t) -> ~str { _ => { } } s += ~"("; - let mut strs = ~[]; - for inputs.each |a| { strs.push(fn_input_to_str(cx, *a)); } + let strs = inputs.map(|a| fn_input_to_str(cx, *a)); s += str::connect(strs, ~", "); s += ~")"; if ty::get(output).sty != ty_nil { @@ -338,13 +337,11 @@ fn ty_to_str(cx: ctxt, typ: t) -> ~str { ty_unboxed_vec(tm) => { ~"unboxed_vec<" + mt_to_str(cx, tm) + ~">" } ty_type => ~"type", ty_rec(elems) => { - let mut strs: ~[~str] = ~[]; - for elems.each |fld| { strs.push(field_to_str(cx, *fld)); } + let strs = elems.map(|fld| field_to_str(cx, *fld)); ~"{" + str::connect(strs, ~",") + ~"}" } ty_tup(elems) => { - let mut strs = ~[]; - for elems.each |elem| { strs.push(ty_to_str(cx, *elem)); } + let strs = elems.map(|elem| ty_to_str(cx, *elem)); ~"(" + str::connect(strs, ~",") + ~")" } ty_fn(ref f) => { |
