diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-07-12 22:46:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-12 22:46:52 +0200 |
| commit | a7f1649fbbcdc2b9904a2614c36b44e917747898 (patch) | |
| tree | 8da66e7a281a969badf84cb6faf8e0a6bdfdc065 /src/libsyntax/parse/parser.rs | |
| parent | d709e8d9d0c0629eb8727f4feaadb387bfde07c2 (diff) | |
| parent | 8c5f6907a1ddb1dc19a4163775f087a46ca77c40 (diff) | |
| download | rust-a7f1649fbbcdc2b9904a2614c36b44e917747898.tar.gz rust-a7f1649fbbcdc2b9904a2614c36b44e917747898.zip | |
Rollup merge of #62607 - estebank:this-mem-is-out-of-control, r=petrochenkov
Correctly break out of recovery loop Fix #61858.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 871fc0e7062..e0633f73ac4 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4629,6 +4629,9 @@ impl<'a> Parser<'a> { fn parse_block_tail(&mut self, lo: Span, s: BlockCheckMode) -> PResult<'a, P<Block>> { let mut stmts = vec![]; while !self.eat(&token::CloseDelim(token::Brace)) { + if self.token == token::Eof { + break; + } let stmt = match self.parse_full_stmt(false) { Err(mut err) => { err.emit(); @@ -4643,8 +4646,6 @@ impl<'a> Parser<'a> { }; if let Some(stmt) = stmt { stmts.push(stmt); - } else if self.token == token::Eof { - break; } else { // Found only `;` or `}`. continue; |
