This commit is contained in:
Michael Lamparski 2019-08-01 17:31:12 -04:00
parent f690098e6d
commit b3321fb26e
3 changed files with 56 additions and 1 deletions

View File

@ -3620,7 +3620,15 @@ impl<'a> Parser<'a> {
let mut etc_span = None; let mut etc_span = None;
while self.token != token::CloseDelim(token::Brace) { while self.token != token::CloseDelim(token::Brace) {
let attrs = self.parse_outer_attributes()?; let attrs = match self.parse_outer_attributes() {
Ok(attrs) => attrs,
Err(err) => {
if let Some(mut delayed) = delayed_err {
delayed.emit();
}
return Err(err);
},
};
let lo = self.token.span; let lo = self.token.span;
// check that a comma comes after every field // check that a comma comes after every field

View File

@ -0,0 +1,3 @@
// error-pattern: aborting due to 6 previous errors
fn i(n{...,f #

View File

@ -0,0 +1,44 @@
error: this file contains an un-closed delimiter
--> $DIR/issue-63135.rs:3:16
|
LL | fn i(n{...,f #
| - - ^
| | |
| | un-closed delimiter
| un-closed delimiter
error: expected field pattern, found `...`
--> $DIR/issue-63135.rs:3:8
|
LL | fn i(n{...,f #
| ^^^ help: to omit remaining fields, use one fewer `.`: `..`
error: expected `}`, found `,`
--> $DIR/issue-63135.rs:3:11
|
LL | fn i(n{...,f #
| ---^
| | |
| | expected `}`
| `..` must be at the end and cannot have a trailing comma
error: expected `[`, found `}`
--> $DIR/issue-63135.rs:3:15
|
LL | fn i(n{...,f #
| ^ expected `[`
error: expected `:`, found `)`
--> $DIR/issue-63135.rs:3:15
|
LL | fn i(n{...,f #
| ^ expected `:`
error: expected one of `->`, `where`, or `{`, found `<eof>`
--> $DIR/issue-63135.rs:3:15
|
LL | fn i(n{...,f #
| ^ expected one of `->`, `where`, or `{` here
error: aborting due to 6 previous errors