1
Fork 0

Remove assumption from recovery code

This commit is contained in:
Esteban Küber 2019-04-19 11:04:41 -07:00
parent a2bbf7deba
commit 30b779f398
3 changed files with 17 additions and 1 deletions

View file

@ -8366,11 +8366,11 @@ impl<'a> Parser<'a> {
} else {
("fn` or `struct", "function or struct", true)
};
self.consume_block(token::Brace);
let msg = format!("missing `{}` for {} definition", kw, kw_name);
let mut err = self.diagnostic().struct_span_err(sp, &msg);
if !ambiguous {
self.consume_block(token::Brace);
let suggestion = format!("add `{}` here to parse `{}` as a public {}",
kw,
ident,

View file

@ -0,0 +1,8 @@
// #60115
mod foo {
pub bar();
//~^ ERROR missing `fn` or `struct` for function or struct definition
}
fn main() {}

View file

@ -0,0 +1,8 @@
error: missing `fn` or `struct` for function or struct definition
--> $DIR/pub-ident-fn-3.rs:4:8
|
LL | pub bar();
| ---^--- help: if you meant to call a macro, try: `bar!`
error: aborting due to previous error