From 84825ee3109a69e4546f66bd3547511d91a73255 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 15 Jan 2013 16:33:20 -0800 Subject: librustc: Make the default sigil for block lambdas `&` instead of `@`. --- src/libsyntax/diagnostic.rs | 4 +++- src/libsyntax/ext/tt/macro_rules.rs | 4 ++-- src/libsyntax/visit.rs | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs index 7e9d257a742..6e335c318dd 100644 --- a/src/libsyntax/diagnostic.rs +++ b/src/libsyntax/diagnostic.rs @@ -213,7 +213,9 @@ fn print_diagnostic(topic: ~str, lvl: level, msg: &str) { fn collect(messages: @DVec<~str>) -> fn@(Option<(@codemap::CodeMap, span)>, &str, level) { - |_o, msg: &str, _l| { messages.push(msg.to_str()); } + let f: @fn(Option<(@codemap::CodeMap, span)>, &str, level) = + |_o, msg: &str, _l| { messages.push(msg.to_str()); }; + f } fn emit(cmsp: Option<(@codemap::CodeMap, span)>, msg: &str, lvl: level) { diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 069eb1e0d82..d68e5a34fbc 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -136,8 +136,8 @@ fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, cx.span_fatal(best_fail_spot, best_fail_msg); } - let exp = |cx, sp, arg| generic_extension(cx, sp, name, - arg, lhses, rhses); + let exp: @fn(ext_ctxt, span, ~[ast::token_tree]) -> mac_result = + |cx, sp, arg| generic_extension(cx, sp, name, arg, lhses, rhses); return mr_def({ name: *cx.parse_sess().interner.get(name), diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index 25ea76d9b51..4d68c982d06 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -641,7 +641,8 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> { f(fk, decl, body, sp, id); visit_fn(fk, decl, body, sp, id, e, v); } - let visit_ty = |a,b,c| v_ty(v.visit_ty, a, b, c); + let visit_ty: @fn(@Ty, &&x: (), vt<()>) = + |a,b,c| v_ty(v.visit_ty, a, b, c); fn v_struct_field(f: fn@(@struct_field), sf: @struct_field, &&e: (), v: vt<()>) { f(sf); -- cgit 1.4.1-3-g733a5