diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-07-02 09:32:23 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-07-12 04:31:39 +0000 |
| commit | 57c56dd7e04bcd25ed578f27e65ec2379299f44b (patch) | |
| tree | 6d09ab6a92444ccb10516eae30964f183a4cc848 /src/libsyntax/parse | |
| parent | 6189e6cdba6d12ab65baafd95c5f8a6e0cc37937 (diff) | |
| download | rust-57c56dd7e04bcd25ed578f27e65ec2379299f44b.tar.gz rust-57c56dd7e04bcd25ed578f27e65ec2379299f44b.zip | |
Parse macro-expanded statements like ordinary statements.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 0dd8c199827..b2cbe252344 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4064,7 +4064,7 @@ impl<'a> Parser<'a> { /// Finish parsing expressions that start with macros and handle trailing semicolons /// (or the lack thereof) -- c.f. `parse_stmt`. - fn finish_parsing_statement(&mut self, mut stmt: Stmt) -> PResult<'a, Stmt> { + pub fn finish_parsing_statement(&mut self, mut stmt: Stmt) -> PResult<'a, Stmt> { if let StmtKind::Mac(mac) = stmt.node { if mac.1 != MacStmtStyle::NoBraces || self.token == token::Semi { stmt.node = StmtKind::Mac(mac); @@ -4082,7 +4082,7 @@ impl<'a> Parser<'a> { fn handle_trailing_semicolon(&mut self, mut stmt: Stmt) -> PResult<'a, Stmt> { match stmt.node { - StmtKind::Expr(ref expr) => { + StmtKind::Expr(ref expr) if self.token != token::Eof => { // expression without semicolon if classify::expr_requires_semi_to_be_stmt(expr) { // Just check for errors and recover; do not eat semicolon yet. |
