From fbf11cfc1314e577bfdae7d53953220798ffa12b Mon Sep 17 00:00:00 2001 From: Chayim Refael Friedman Date: Mon, 5 Sep 2022 16:09:57 +0000 Subject: Recover from using `;` as separator between fields --- compiler/rustc_parse/src/parser/item.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'compiler/rustc_parse/src/parser') diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index 5b75d1d5f22..29b484a3954 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -1526,6 +1526,17 @@ impl<'a> Parser<'a> { if self.token == token::Comma { seen_comma = true; } + if self.eat(&token::Semi) { + let sp = self.prev_token.span; + let mut err = self.struct_span_err(sp, format!("{adt_ty} fields are separated by `,`")); + err.span_suggestion_short( + sp, + "replace `;` with `,`", + ",", + Applicability::MachineApplicable, + ); + return Err(err); + } match self.token.kind { token::Comma => { self.bump(); -- cgit 1.4.1-3-g733a5