diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-08-14 15:27:06 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-08-15 16:20:31 -0700 |
| commit | fe9d07dda6e884df9873376c85941cc766dbd1dc (patch) | |
| tree | 426406223615438c3ea72db0fe7130dfb9ded1d8 /src/libsyntax/ext/tt | |
| parent | fd0f616ceb17ac283717322674e35b7589a27232 (diff) | |
| download | rust-fe9d07dda6e884df9873376c85941cc766dbd1dc.tar.gz rust-fe9d07dda6e884df9873376c85941cc766dbd1dc.zip | |
rustc: "as Trait" can now be written "as @Trait".
There is also code for ~Trait and &Trait, but these are currently (incorrectly) synonyms for "as @Trait" and "as &Trait".
Diffstat (limited to 'src/libsyntax/ext/tt')
| -rw-r--r-- | src/libsyntax/ext/tt/earley_parser.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/ext/tt/transcribe.rs | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/libsyntax/ext/tt/earley_parser.rs b/src/libsyntax/ext/tt/earley_parser.rs index b6dc1c05a2c..77ba941015b 100644 --- a/src/libsyntax/ext/tt/earley_parser.rs +++ b/src/libsyntax/ext/tt/earley_parser.rs @@ -284,7 +284,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher]) nts, next_eis.len()}); } else if (bb_eis.len() == 0u && next_eis.len() == 0u) { return failure(sp, ~"No rules expected the token " - + to_str(*rdr.interner(), tok)); + + to_str(rdr.interner(), tok)); } else if (next_eis.len() > 0u) { /* Now process the next token */ while(next_eis.len() > 0u) { @@ -334,7 +334,7 @@ fn parse_nt(p: parser, name: ~str) -> nonterminal { ~"ident" => match copy p.token { token::IDENT(sn,b) => { p.bump(); token::nt_ident(sn,b) } _ => p.fatal(~"expected ident, found " - + token::to_str(*p.reader.interner(), copy p.token)) + + token::to_str(p.reader.interner(), copy p.token)) }, ~"path" => token::nt_path(p.parse_path_with_tps(false)), ~"tt" => { diff --git a/src/libsyntax/ext/tt/transcribe.rs b/src/libsyntax/ext/tt/transcribe.rs index 693b538ec6d..8acf0e8ec6d 100644 --- a/src/libsyntax/ext/tt/transcribe.rs +++ b/src/libsyntax/ext/tt/transcribe.rs @@ -25,7 +25,7 @@ type tt_frame = @{ type tt_reader = @{ sp_diag: span_handler, - interner: @interner<@~str>, + interner: interner<@~str>, mut cur: tt_frame, /* for MBE-style macro transcription */ interpolations: std::map::hashmap<ident, @named_match>, @@ -39,7 +39,7 @@ type tt_reader = @{ /** This can do Macro-By-Example transcription. On the other hand, if * `src` contains no `tt_seq`s and `tt_nonterminal`s, `interp` can (and * should) be none. */ -fn new_tt_reader(sp_diag: span_handler, itr: @interner<@~str>, +fn new_tt_reader(sp_diag: span_handler, itr: interner<@~str>, interp: option<std::map::hashmap<ident,@named_match>>, src: ~[ast::token_tree]) -> tt_reader { @@ -237,4 +237,4 @@ fn tt_next_token(&&r: tt_reader) -> {tok: token, sp: span} { } } -} \ No newline at end of file +} |
