diff options
| author | bors <bors@rust-lang.org> | 2023-04-11 14:40:54 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-04-11 14:40:54 +0000 |
| commit | 45749b21b7fd836f6c4f11dd40376f7c83e2791b (patch) | |
| tree | 597e8b04439e334cfd94d00349727bae7aac64a8 /compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs | |
| parent | dfe024e1041d1cba1d3191024de3b7128c6734e6 (diff) | |
| parent | 64f75977764439f500f58ed6f2ac6db4873b250a (diff) | |
| download | rust-45749b21b7fd836f6c4f11dd40376f7c83e2791b.tar.gz rust-45749b21b7fd836f6c4f11dd40376f7c83e2791b.zip | |
Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors
Migrate most of `rustc_builtin_macros` to diagnostic impls cc #100717 This is a couple of days work, but I decided to stop for now before the PR becomes too big. There's around 50 unresolved failures when `rustc::untranslatable_diagnostic` is denied, which I'll finish addressing once this PR goes thtough A couple of outputs have changed, but in all instances I think the changes are an improvement/are more consistent with other diagnostics (although I'm happy to revert any which seem worse)
Diffstat (limited to 'compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs')
| -rw-r--r-- | compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs b/compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs index 4540ded0f41..427c82c410b 100644 --- a/compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs +++ b/compiler/rustc_macros/src/diagnostics/diagnostic_builder.rs @@ -392,14 +392,16 @@ impl<'a> DiagnosticDeriveVariantBuilder<'a> { } SubdiagnosticKind::Note | SubdiagnosticKind::Help | SubdiagnosticKind::Warn => { let inner = info.ty.inner_type(); - if type_matches_path(inner, &["rustc_span", "Span"]) { + if type_matches_path(inner, &["rustc_span", "Span"]) + || type_matches_path(inner, &["rustc_span", "MultiSpan"]) + { Ok(self.add_spanned_subdiagnostic(binding, &fn_ident, slug)) } else if type_is_unit(inner) || (matches!(info.ty, FieldInnerTy::Plain(_)) && type_is_bool(inner)) { Ok(self.add_subdiagnostic(&fn_ident, slug)) } else { - report_type_error(attr, "`Span`, `bool` or `()`")? + report_type_error(attr, "`Span`, `MultiSpan`, `bool` or `()`")? } } SubdiagnosticKind::Suggestion { |
