diff options
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -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. |
