diff options
| author | Michael Goulet <michael@errs.io> | 2025-06-26 17:53:39 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2025-06-26 18:11:14 +0000 |
| commit | e63921262ccd2ece7e0861d634f111136da1f7da (patch) | |
| tree | 7fc59636ab2dc9acdaa6013afee3411b268ef8ba /compiler/rustc_parse/src | |
| parent | 94e9973b92c481d20e5fe1466bbc47f818101d5f (diff) | |
| download | rust-e63921262ccd2ece7e0861d634f111136da1f7da.tar.gz rust-e63921262ccd2ece7e0861d634f111136da1f7da.zip | |
Make recovery for enum with struct field a bit more accurate
Diffstat (limited to 'compiler/rustc_parse/src')
| -rw-r--r-- | compiler/rustc_parse/src/parser/item.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index 5088caa80f8..9ed7124a11c 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -1552,7 +1552,8 @@ impl<'a> Parser<'a> { }) .map_err(|mut err| { err.span_label(ident.span, "while parsing this enum"); - if self.token == token::Colon { + // Try to recover `enum Foo { ident : Ty }`. + if self.prev_token.is_non_reserved_ident() && self.token == token::Colon { let snapshot = self.create_snapshot_for_diagnostic(); self.bump(); match self.parse_ty() { |
