diff options
| author | bors <bors@rust-lang.org> | 2015-05-15 15:14:25 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-05-15 15:14:25 +0000 |
| commit | 9bebe5f3bbf2715f9c8606d672a2396216077826 (patch) | |
| tree | 94bca0791705d56a8afe947b4673581a2c921a62 /src/libsyntax/parse/parser.rs | |
| parent | 13a4b83c1a73260b9c34a66d3bde62ff09d01863 (diff) | |
| parent | b62290d421acf39db929f05522c8ce530e031067 (diff) | |
| download | rust-9bebe5f3bbf2715f9c8606d672a2396216077826.tar.gz rust-9bebe5f3bbf2715f9c8606d672a2396216077826.zip | |
Auto merge of #25059 - erickt:pprint, r=acrichto
The recent quote changes unfortunately broke unquoting statements like `let foo = 5` because the parser requires their to be a trailing semicolon in those statements. Along the way I added support for unquoting generics and where clauses as well as better pretty printing of `token::Interpolated`.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 541ec16b415..9bf6fa88ba5 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3808,6 +3808,8 @@ impl<'a> Parser<'a> { /// | ( < lifetimes , typaramseq ( , )? > ) /// where typaramseq = ( typaram ) | ( typaram , typaramseq ) pub fn parse_generics(&mut self) -> PResult<ast::Generics> { + maybe_whole!(self, NtGenerics); + if try!(self.eat(&token::Lt) ){ let lifetime_defs = try!(self.parse_lifetime_defs()); let mut seen_default = false; @@ -3928,6 +3930,8 @@ impl<'a> Parser<'a> { /// where T : Trait<U, V> + 'b, 'a : 'b /// ``` pub fn parse_where_clause(&mut self) -> PResult<ast::WhereClause> { + maybe_whole!(self, NtWhereClause); + let mut where_clause = WhereClause { id: ast::DUMMY_NODE_ID, predicates: Vec::new(), |
