diff options
| author | bors <bors@rust-lang.org> | 2023-01-12 02:16:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-01-12 02:16:16 +0000 |
| commit | d4203eda5f0dd0b0192bfd22ea5989fbaf917818 (patch) | |
| tree | 720289706385fe4253272987612f58fd2e8ffc17 /compiler/rustc_parse/src/errors.rs | |
| parent | 56ee65aeb6d1fad67d903d5ee1359abcf7b94231 (diff) | |
| parent | 70ddde76dfbb03909c565b329f86e49de1f767cc (diff) | |
| download | rust-d4203eda5f0dd0b0192bfd22ea5989fbaf917818.tar.gz rust-d4203eda5f0dd0b0192bfd22ea5989fbaf917818.zip | |
Auto merge of #106537 - fmease:recover-where-clause-before-tuple-struct-body, r=estebank
Recover from where clauses placed before tuple struct bodies Open to any suggestions regarding the phrasing of the diagnostic. Fixes #100790. `@rustbot` label A-diagnostics r? diagnostics
Diffstat (limited to 'compiler/rustc_parse/src/errors.rs')
| -rw-r--r-- | compiler/rustc_parse/src/errors.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/compiler/rustc_parse/src/errors.rs b/compiler/rustc_parse/src/errors.rs index 19eeb069a25..06b970ad979 100644 --- a/compiler/rustc_parse/src/errors.rs +++ b/compiler/rustc_parse/src/errors.rs @@ -1255,3 +1255,27 @@ pub(crate) struct ExpectedFnPathFoundFnKeyword { #[suggestion(applicability = "machine-applicable", code = "Fn", style = "verbose")] pub fn_token_span: Span, } + +#[derive(Diagnostic)] +#[diag(parse_where_clause_before_tuple_struct_body)] +pub(crate) struct WhereClauseBeforeTupleStructBody { + #[primary_span] + #[label] + pub span: Span, + #[label(name_label)] + pub name: Span, + #[label(body_label)] + pub body: Span, + #[subdiagnostic] + pub sugg: Option<WhereClauseBeforeTupleStructBodySugg>, +} + +#[derive(Subdiagnostic)] +#[multipart_suggestion(suggestion, applicability = "machine-applicable")] +pub(crate) struct WhereClauseBeforeTupleStructBodySugg { + #[suggestion_part(code = "{snippet}")] + pub left: Span, + pub snippet: String, + #[suggestion_part(code = "")] + pub right: Span, +} |
