use rustc_errors::{Applicability, MultiSpan};
-use rustc_macros::{LintDiagnostic, SessionDiagnostic, SessionSubdiagnostic};
+use rustc_macros::{Diagnostic, LintDiagnostic, Subdiagnostic};
use rustc_span::{Span, Symbol};
#[derive(LintDiagnostic)]
#[note]
pub struct IgnoredInlineAttrConstants;
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::inline_not_fn_or_closure, code = "E0518")]
pub struct InlineNotFnOrClosure {
#[primary_span]
#[diag(passes::no_coverage_fn_defn)]
pub struct IgnoredNoCoverageFnDefn;
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::no_coverage_not_coverable, code = "E0788")]
pub struct IgnoredNoCoverageNotCoverable {
#[primary_span]
pub defn_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::should_be_applied_to_fn)]
pub struct AttrShouldBeAppliedToFn {
#[primary_span]
pub defn_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::naked_tracked_caller, code = "E0736")]
pub struct NakedTrackedCaller {
#[primary_span]
pub attr_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::should_be_applied_to_fn, code = "E0739")]
pub struct TrackedCallerWrongLocation {
#[primary_span]
pub defn_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::should_be_applied_to_struct_enum, code = "E0701")]
pub struct NonExhaustiveWrongLocation {
#[primary_span]
pub defn_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::should_be_applied_to_trait)]
pub struct AttrShouldBeAppliedToTrait {
#[primary_span]
#[diag(passes::target_feature_on_statement)]
pub struct TargetFeatureOnStatement;
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::should_be_applied_to_static)]
pub struct AttrShouldBeAppliedToStatic {
#[primary_span]
pub defn_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_expect_str)]
pub struct DocExpectStr<'a> {
#[primary_span]
pub attr_name: &'a str,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_empty)]
pub struct DocAliasEmpty<'a> {
#[primary_span]
pub attr_str: &'a str,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_bad_char)]
pub struct DocAliasBadChar<'a> {
#[primary_span]
pub char_: char,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_start_end)]
pub struct DocAliasStartEnd<'a> {
#[primary_span]
pub attr_str: &'a str,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_bad_location)]
pub struct DocAliasBadLocation<'a> {
#[primary_span]
pub location: &'a str,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_not_an_alias)]
pub struct DocAliasNotAnAlias<'a> {
#[primary_span]
pub first_defn: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_not_string_literal)]
pub struct DocAliasNotStringLiteral {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_alias_malformed)]
pub struct DocAliasMalformed {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_keyword_empty_mod)]
pub struct DocKeywordEmptyMod {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_keyword_not_mod)]
pub struct DocKeywordNotMod {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_keyword_invalid_ident)]
pub struct DocKeywordInvalidIdent {
#[primary_span]
pub doc_keyword: Symbol,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_fake_variadic_not_valid)]
pub struct DocFakeVariadicNotValid {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_keyword_only_impl)]
pub struct DocKeywordOnlyImpl {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_inline_conflict)]
#[help]
pub struct DocKeywordConflict {
pub item_span: Option<Span>,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::doc_attr_not_crate_level)]
pub struct DocAttrNotCrateLevel<'a> {
#[primary_span]
#[diag(passes::doc_invalid)]
pub struct DocInvalid;
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::pass_by_value)]
pub struct PassByValue {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::allow_incoherent_impl)]
pub struct AllowIncoherentImpl {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::has_incoherent_inherent_impl)]
pub struct HasIncoherentInherentImpl {
#[primary_span]
pub target: rustc_hir::Target,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::must_not_suspend)]
pub struct MustNotSuspend {
#[primary_span]
pub value: &'a str,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::no_link)]
pub struct NoLink {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::export_name)]
pub struct ExportName {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_layout_scalar_valid_range_not_struct)]
pub struct RustcLayoutScalarValidRangeNotStruct {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_layout_scalar_valid_range_arg)]
pub struct RustcLayoutScalarValidRangeArg {
#[primary_span]
pub attr_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_legacy_const_generics_only)]
pub struct RustcLegacyConstGenericsOnly {
#[primary_span]
pub param_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_legacy_const_generics_index)]
pub struct RustcLegacyConstGenericsIndex {
#[primary_span]
pub generics_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_legacy_const_generics_index_exceed)]
pub struct RustcLegacyConstGenericsIndexExceed {
#[primary_span]
pub arg_count: usize,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_legacy_const_generics_index_negative)]
pub struct RustcLegacyConstGenericsIndexNegative {
#[primary_span]
pub invalid_args: Vec<Span>,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_dirty_clean)]
pub struct RustcDirtyClean {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::repr_ident, code = "E0565")]
pub struct ReprIdent {
#[primary_span]
#[diag(passes::repr_conflicting, code = "E0566")]
pub struct ReprConflicting;
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::used_static)]
pub struct UsedStatic {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::used_compiler_linker)]
pub struct UsedCompilerLinker {
#[primary_span]
pub spans: Vec<Span>,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::allow_internal_unstable)]
pub struct AllowInternalUnstable {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::debug_visualizer_placement)]
pub struct DebugVisualizerPlacement {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::debug_visualizer_invalid)]
#[note(passes::note_1)]
#[note(passes::note_2)]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_allow_const_fn_unstable)]
pub struct RustcAllowConstFnUnstable {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_std_internal_symbol)]
pub struct RustcStdInternalSymbol {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::const_trait)]
pub struct ConstTrait {
#[primary_span]
pub attr_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::link_ordinal)]
pub struct LinkOrdinal {
#[primary_span]
pub attr_span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::stability_promotable)]
pub struct StabilityPromotable {
#[primary_span]
#[diag(passes::plugin_registrar)]
pub struct PluginRegistrar;
-#[derive(SessionSubdiagnostic)]
+#[derive(Subdiagnostic)]
pub enum UnusedNote {
#[note(passes::unused_empty_lints_note)]
EmptyList { name: Symbol },
pub note: UnusedNote,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::non_exported_macro_invalid_attrs, code = "E0518")]
pub struct NonExportedMacroInvalidAttrs {
#[primary_span]
pub warning: Option<()>,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::unused_multiple)]
pub struct UnusedMultiple {
#[primary_span]
pub name: Symbol,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_lint_opt_ty)]
pub struct RustcLintOptTy {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::rustc_lint_opt_deny_field_access)]
pub struct RustcLintOptDenyFieldAccess {
#[primary_span]
pub span: Span,
}
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
#[diag(passes::collapse_debuginfo)]
pub struct CollapseDebuginfo {
#[primary_span]