diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 07b918da0d1..d3104e0a553 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4273,6 +4273,7 @@ impl<'a> Parser<'a> { Err(mut err) => { err.emit(); self.recover_stmt_(SemiColonMode::Ignore, BlockMode::Break); + self.eat(&token::CloseDelim(token::Brace)); break; } Ok(stmt) => stmt, diff --git a/src/test/parse-fail/issue-22712.rs b/src/test/parse-fail/issue-22712.rs index 84d4a757a07..ed936cdd9a9 100644 --- a/src/test/parse-fail/issue-22712.rs +++ b/src/test/parse-fail/issue-22712.rs @@ -14,6 +14,6 @@ struct Foo { fn bar() { let Foo> //~ ERROR expected one of `:`, `;`, `=`, or `@`, found `<` -} //~ ERROR expected item, found `}` +} fn main() {} diff --git a/src/test/parse-fail/issue-24197.rs b/src/test/parse-fail/issue-24197.rs index b6bc3a29e06..37d62182612 100644 --- a/src/test/parse-fail/issue-24197.rs +++ b/src/test/parse-fail/issue-24197.rs @@ -10,4 +10,4 @@ fn main() { let buf[0] = 0; //~ ERROR expected one of `:`, `;`, `=`, or `@`, found `[` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/pat-lt-bracket-5.rs b/src/test/parse-fail/pat-lt-bracket-5.rs index 95ad006402e..421d7a05bef 100644 --- a/src/test/parse-fail/pat-lt-bracket-5.rs +++ b/src/test/parse-fail/pat-lt-bracket-5.rs @@ -10,4 +10,4 @@ fn main() { let v[0] = v[1]; //~ ERROR expected one of `:`, `;`, `=`, or `@`, found `[` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/pat-ranges-1.rs b/src/test/parse-fail/pat-ranges-1.rs index 7a42f453c74..857a3924aec 100644 --- a/src/test/parse-fail/pat-ranges-1.rs +++ b/src/test/parse-fail/pat-ranges-1.rs @@ -12,4 +12,4 @@ fn main() { let macropus!() ..= 11 = 12; //~ error: expected one of `:`, `;`, or `=`, found `..=` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/pat-ranges-2.rs b/src/test/parse-fail/pat-ranges-2.rs index ad0a3b3b67f..64c749333cf 100644 --- a/src/test/parse-fail/pat-ranges-2.rs +++ b/src/test/parse-fail/pat-ranges-2.rs @@ -12,4 +12,4 @@ fn main() { let 10 ..= makropulos!() = 12; //~ error: expected one of `::`, `:`, `;`, or `=`, found `!` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/pat-ranges-3.rs b/src/test/parse-fail/pat-ranges-3.rs index 4a9a12bcdd2..1327a9fab36 100644 --- a/src/test/parse-fail/pat-ranges-3.rs +++ b/src/test/parse-fail/pat-ranges-3.rs @@ -12,4 +12,4 @@ fn main() { let 10 ..= 10 + 3 = 12; //~ expected one of `:`, `;`, or `=`, found `+` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/pat-ranges-4.rs b/src/test/parse-fail/pat-ranges-4.rs index 32fdc263b2d..c159c770250 100644 --- a/src/test/parse-fail/pat-ranges-4.rs +++ b/src/test/parse-fail/pat-ranges-4.rs @@ -13,4 +13,4 @@ fn main() { let 10 - 3 ..= 10 = 8; //~^ error: expected one of `...`, `..=`, `..`, `:`, `;`, or `=`, found `-` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/range-3.rs b/src/test/parse-fail/range-3.rs index f413ac34087..95aa71b0cdf 100644 --- a/src/test/parse-fail/range-3.rs +++ b/src/test/parse-fail/range-3.rs @@ -15,4 +15,4 @@ pub fn main() { let r = 1..2..3; //~^ ERROR expected one of `.`, `;`, `?`, or an operator, found `..` -} //~ ERROR expected item, found `}` +} diff --git a/src/test/parse-fail/range-4.rs b/src/test/parse-fail/range-4.rs index 0b385129b23..4500df116a2 100644 --- a/src/test/parse-fail/range-4.rs +++ b/src/test/parse-fail/range-4.rs @@ -15,4 +15,4 @@ pub fn main() { let r = ..1..2; //~^ ERROR expected one of `.`, `;`, `?`, or an operator, found `..` -} //~ ERROR expected item, found `}` +}