diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-02-18 21:25:44 -0800 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-02-25 07:27:01 -0800 |
| commit | 9ac5262bdf27c964d1e9496479994aff2ae80acc (patch) | |
| tree | 0daddb3ce5a23947598d6882743a34d402a07457 /src/libsyntax/ext/tt | |
| parent | 297c6e11bb362901b5a511057497a80eb255d2b4 (diff) | |
| download | rust-9ac5262bdf27c964d1e9496479994aff2ae80acc.tar.gz rust-9ac5262bdf27c964d1e9496479994aff2ae80acc.zip | |
libsyntax: convert visit to pass ty_params by reference
Diffstat (limited to 'src/libsyntax/ext/tt')
| -rw-r--r-- | src/libsyntax/ext/tt/macro_rules.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index f42bb01f7c2..cfb6e45cb5b 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -71,7 +71,7 @@ pub fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, // Given `lhses` and `rhses`, this is the new macro we create fn generic_extension(cx: ext_ctxt, sp: span, name: ident, - arg: ~[ast::token_tree], + arg: &[ast::token_tree], lhses: ~[@named_match], rhses: ~[@named_match]) -> MacResult { @@ -79,7 +79,7 @@ pub fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, io::println(fmt!("%s! { %s }", cx.str_of(name), print::pprust::tt_to_str( - ast::tt_delim(arg), + ast::tt_delim(vec::from_slice(arg)), cx.parse_sess().interner))); } @@ -94,7 +94,12 @@ pub fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, match *lhs { @matched_nonterminal(nt_matchers(ref mtcs)) => { // `none` is because we're not interpolating - let arg_rdr = new_tt_reader(s_d, itr, None, arg) as reader; + let arg_rdr = new_tt_reader( + s_d, + itr, + None, + vec::from_slice(arg) + ) as reader; match parse(cx.parse_sess(), cx.cfg(), arg_rdr, (*mtcs)) { success(named_matches) => { let rhs = match rhses[i] { @@ -136,7 +141,7 @@ pub fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, cx.span_fatal(best_fail_spot, best_fail_msg); } - let exp: @fn(ext_ctxt, span, ~[ast::token_tree]) -> MacResult = + let exp: @fn(ext_ctxt, span, &[ast::token_tree]) -> MacResult = |cx, sp, arg| generic_extension(cx, sp, name, arg, lhses, rhses); return MRDef(MacroDef{ |
