diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-09-17 21:02:17 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-09-17 21:02:17 -0700 |
| commit | 1a90f24bbdd4decec3df35d628fdb8825675190a (patch) | |
| tree | 8af78affbe20f10f3ab78627939eaaae4de5c91f /src/libsyntax/ext/deriving/default.rs | |
| parent | 5ab843fbc3924fc7706f8adf281da7aff3dced31 (diff) | |
| download | rust-1a90f24bbdd4decec3df35d628fdb8825675190a.tar.gz rust-1a90f24bbdd4decec3df35d628fdb8825675190a.zip | |
extra: minor cleanup of Zero and Default syntax extension
Diffstat (limited to 'src/libsyntax/ext/deriving/default.rs')
| -rw-r--r-- | src/libsyntax/ext/deriving/default.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/libsyntax/ext/deriving/default.rs b/src/libsyntax/ext/deriving/default.rs index 0c7bbefc690..d8c78842808 100644 --- a/src/libsyntax/ext/deriving/default.rs +++ b/src/libsyntax/ext/deriving/default.rs @@ -47,9 +47,7 @@ fn default_substructure(cx: @ExtCtxt, span: Span, substr: &Substructure) -> @Exp cx.ident_of("Default"), cx.ident_of("default") ]; - let default_call = || { - cx.expr_call_global(span, default_ident.clone(), ~[]) - }; + let default_call = cx.expr_call_global(span, default_ident.clone(), ~[]); return match *substr.fields { StaticStruct(_, ref summary) => { @@ -58,13 +56,13 @@ fn default_substructure(cx: @ExtCtxt, span: Span, substr: &Substructure) -> @Exp if count == 0 { cx.expr_ident(span, substr.type_ident) } else { - let exprs = vec::from_fn(count, |_| default_call()); + let exprs = vec::from_elem(count, default_call); cx.expr_call_ident(span, substr.type_ident, exprs) } } Right(ref fields) => { let default_fields = do fields.map |ident| { - cx.field_imm(span, *ident, default_call()) + cx.field_imm(span, *ident, default_call) }; cx.expr_struct_ident(span, substr.type_ident, default_fields) } |
