Fix ICE in #63135
This commit is contained in:
parent
f690098e6d
commit
b3321fb26e
@ -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
|
||||||
|
3
src/test/ui/parser/issue-63135.rs
Normal file
3
src/test/ui/parser/issue-63135.rs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
// error-pattern: aborting due to 6 previous errors
|
||||||
|
|
||||||
|
fn i(n{...,f #
|
44
src/test/ui/parser/issue-63135.stderr
Normal file
44
src/test/ui/parser/issue-63135.stderr
Normal 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
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user