diff options
Diffstat (limited to 'compiler/rustc_attr/src/session_diagnostics.rs')
| -rw-r--r-- | compiler/rustc_attr/src/session_diagnostics.rs | 71 |
1 files changed, 35 insertions, 36 deletions
diff --git a/compiler/rustc_attr/src/session_diagnostics.rs b/compiler/rustc_attr/src/session_diagnostics.rs index 085175d4bed..d3e9a16a9a8 100644 --- a/compiler/rustc_attr/src/session_diagnostics.rs +++ b/compiler/rustc_attr/src/session_diagnostics.rs @@ -2,22 +2,21 @@ use std::num::IntErrorKind; use rustc_ast as ast; use rustc_errors::{ - error_code, fluent, Applicability, DiagnosticBuilder, ErrorGuaranteed, Handler, + error_code, fluent, Applicability, DiagnosticBuilder, ErrorGuaranteed, Handler, IntoDiagnostic, }; -use rustc_macros::SessionDiagnostic; -use rustc_session::SessionDiagnostic; +use rustc_macros::Diagnostic; use rustc_span::{Span, Symbol}; use crate::UnsupportedLiteralReason; -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::expected_one_cfg_pattern, code = "E0536")] pub(crate) struct ExpectedOneCfgPattern { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::invalid_predicate, code = "E0537")] pub(crate) struct InvalidPredicate { #[primary_span] @@ -26,7 +25,7 @@ pub(crate) struct InvalidPredicate { pub predicate: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::multiple_item, code = "E0538")] pub(crate) struct MultipleItem { #[primary_span] @@ -35,7 +34,7 @@ pub(crate) struct MultipleItem { pub item: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::incorrect_meta_item, code = "E0539")] pub(crate) struct IncorrectMetaItem { #[primary_span] @@ -50,7 +49,7 @@ pub(crate) struct UnknownMetaItem<'a> { } // Manual implementation to be able to format `expected` items correctly. -impl<'a> SessionDiagnostic<'a> for UnknownMetaItem<'_> { +impl<'a> IntoDiagnostic<'a> for UnknownMetaItem<'_> { fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, ErrorGuaranteed> { let expected = self.expected.iter().map(|name| format!("`{}`", name)).collect::<Vec<_>>(); let mut diag = handler.struct_span_err_with_code( @@ -65,28 +64,28 @@ impl<'a> SessionDiagnostic<'a> for UnknownMetaItem<'_> { } } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::missing_since, code = "E0542")] pub(crate) struct MissingSince { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::missing_note, code = "E0543")] pub(crate) struct MissingNote { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::multiple_stability_levels, code = "E0544")] pub(crate) struct MultipleStabilityLevels { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::invalid_issue_string, code = "E0545")] pub(crate) struct InvalidIssueString { #[primary_span] @@ -98,7 +97,7 @@ pub(crate) struct InvalidIssueString { // The error kinds of `IntErrorKind` are duplicated here in order to allow the messages to be // translatable. -#[derive(SessionSubdiagnostic)] +#[derive(Subdiagnostic)] pub(crate) enum InvalidIssueStringCause { #[label(attr::must_not_be_zero)] MustNotBeZero { @@ -144,21 +143,21 @@ impl InvalidIssueStringCause { } } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::missing_feature, code = "E0546")] pub(crate) struct MissingFeature { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::non_ident_feature, code = "E0546")] pub(crate) struct NonIdentFeature { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::missing_issue, code = "E0547")] pub(crate) struct MissingIssue { #[primary_span] @@ -167,7 +166,7 @@ pub(crate) struct MissingIssue { // FIXME: This diagnostic is identical to `IncorrectMetaItem`, barring the error code. Consider // changing this to `IncorrectMetaItem`. See #51489. -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::incorrect_meta_item, code = "E0551")] pub(crate) struct IncorrectMetaItem2 { #[primary_span] @@ -176,14 +175,14 @@ pub(crate) struct IncorrectMetaItem2 { // FIXME: Why is this the same error code as `InvalidReprHintNoParen` and `InvalidReprHintNoValue`? // It is more similar to `IncorrectReprFormatGeneric`. -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::incorrect_repr_format_packed_one_or_zero_arg, code = "E0552")] pub(crate) struct IncorrectReprFormatPackedOneOrZeroArg { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::invalid_repr_hint_no_paren, code = "E0552")] pub(crate) struct InvalidReprHintNoParen { #[primary_span] @@ -192,7 +191,7 @@ pub(crate) struct InvalidReprHintNoParen { pub name: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::invalid_repr_hint_no_value, code = "E0552")] pub(crate) struct InvalidReprHintNoValue { #[primary_span] @@ -209,7 +208,7 @@ pub(crate) struct UnsupportedLiteral { pub start_point_span: Span, } -impl<'a> SessionDiagnostic<'a> for UnsupportedLiteral { +impl<'a> IntoDiagnostic<'a> for UnsupportedLiteral { fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, ErrorGuaranteed> { let mut diag = handler.struct_span_err_with_code( self.span, @@ -237,7 +236,7 @@ impl<'a> SessionDiagnostic<'a> for UnsupportedLiteral { } } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::invalid_repr_align_need_arg, code = "E0589")] pub(crate) struct InvalidReprAlignNeedArg { #[primary_span] @@ -245,7 +244,7 @@ pub(crate) struct InvalidReprAlignNeedArg { pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::invalid_repr_generic, code = "E0589")] pub(crate) struct InvalidReprGeneric<'a> { #[primary_span] @@ -255,14 +254,14 @@ pub(crate) struct InvalidReprGeneric<'a> { pub error_part: &'a str, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::incorrect_repr_format_align_one_arg, code = "E0693")] pub(crate) struct IncorrectReprFormatAlignOneArg { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::incorrect_repr_format_generic, code = "E0693")] pub(crate) struct IncorrectReprFormatGeneric<'a> { #[primary_span] @@ -274,7 +273,7 @@ pub(crate) struct IncorrectReprFormatGeneric<'a> { pub cause: Option<IncorrectReprFormatGenericCause<'a>>, } -#[derive(SessionSubdiagnostic)] +#[derive(Subdiagnostic)] pub(crate) enum IncorrectReprFormatGenericCause<'a> { #[suggestion(attr::suggestion, code = "{name}({int})", applicability = "machine-applicable")] Int { @@ -317,28 +316,28 @@ impl<'a> IncorrectReprFormatGenericCause<'a> { } } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::rustc_promotable_pairing, code = "E0717")] pub(crate) struct RustcPromotablePairing { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::rustc_allowed_unstable_pairing, code = "E0789")] pub(crate) struct RustcAllowedUnstablePairing { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::cfg_predicate_identifier)] pub(crate) struct CfgPredicateIdentifier { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::deprecated_item_suggestion)] pub(crate) struct DeprecatedItemSuggestion { #[primary_span] @@ -351,21 +350,21 @@ pub(crate) struct DeprecatedItemSuggestion { pub details: (), } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::expected_single_version_literal)] pub(crate) struct ExpectedSingleVersionLiteral { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::expected_version_literal)] pub(crate) struct ExpectedVersionLiteral { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::expects_feature_list)] pub(crate) struct ExpectsFeatureList { #[primary_span] @@ -374,7 +373,7 @@ pub(crate) struct ExpectsFeatureList { pub name: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::expects_features)] pub(crate) struct ExpectsFeatures { #[primary_span] @@ -383,14 +382,14 @@ pub(crate) struct ExpectsFeatures { pub name: String, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::soft_no_args)] pub(crate) struct SoftNoArgs { #[primary_span] pub span: Span, } -#[derive(SessionDiagnostic)] +#[derive(Diagnostic)] #[diag(attr::unknown_version_literal)] pub(crate) struct UnknownVersionLiteral { #[primary_span] |
