Skip to content

Commit

Permalink
Rollup merge of #77444 - estebank:pat-field-label, r=davidtwco
Browse files Browse the repository at this point in the history
Fix span for incorrect pattern field and add label

Address #73750.
  • Loading branch information
jonas-schievink authored Oct 2, 2020
2 parents 14d8ee3 + 7d5a620 commit de8d7aa
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 7 deletions.
3 changes: 2 additions & 1 deletion compiler/rustc_parse/src/parser/pat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,7 @@ impl<'a> Parser<'a> {
}
self.bump();
let (fields, etc) = self.parse_pat_fields().unwrap_or_else(|mut e| {
e.span_label(path.span, "while parsing the fields for this pattern");
e.emit();
self.recover_stmt();
(vec![], true)
Expand Down Expand Up @@ -844,7 +845,7 @@ impl<'a> Parser<'a> {

// check that a comma comes after every field
if !ate_comma {
let err = self.struct_span_err(self.prev_token.span, "expected `,`");
let err = self.struct_span_err(self.token.span, "expected `,`");
if let Some(mut delayed) = delayed_err {
delayed.emit();
}
Expand Down
6 changes: 4 additions & 2 deletions src/test/ui/parser/bind-struct-early-modifiers.stderr
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
error: expected `,`
--> $DIR/bind-struct-early-modifiers.rs:4:19
--> $DIR/bind-struct-early-modifiers.rs:4:20
|
LL | Foo { ref x: ref x } => {},
| ^
| --- ^
| |
| while parsing the fields for this pattern

error: aborting due to previous error

4 changes: 3 additions & 1 deletion src/test/ui/parser/issue-10392.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ error: expected identifier, found `,`
--> $DIR/issue-10392.rs:6:13
|
LL | let A { , } = a();
| ^ expected identifier
| - ^ expected identifier
| |
| while parsing the fields for this pattern

error: aborting due to previous error

4 changes: 3 additions & 1 deletion src/test/ui/parser/issue-63135.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ error: expected one of `!` or `[`, found `}`
--> $DIR/issue-63135.rs:3:16
|
LL | fn i(n{...,f #
| ^ expected one of `!` or `[`
| - ^ expected one of `!` or `[`
| |
| while parsing the fields for this pattern

error: aborting due to 5 previous errors

6 changes: 4 additions & 2 deletions src/test/ui/resolve/issue-54379.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ LL | MyStruct { .., Some(_) } => {},
| `..` must be at the end and cannot have a trailing comma

error: expected `,`
--> $DIR/issue-54379.rs:9:24
--> $DIR/issue-54379.rs:9:28
|
LL | MyStruct { .., Some(_) } => {},
| ^^^^
| -------- ^
| |
| while parsing the fields for this pattern

error: aborting due to 2 previous errors

0 comments on commit de8d7aa

Please sign in to comment.