1use std::num::NonZero;
4
5use rustc_errors::codes::*;
6use rustc_errors::{
7 Applicability, Diag, DiagArgValue, DiagMessage, DiagStyledString, ElidedLifetimeInPathSubdiag,
8 EmissionGuarantee, LintDiagnostic, MultiSpan, Subdiagnostic, SuggestionStyle,
9};
10use rustc_hir as hir;
11use rustc_hir::def_id::DefId;
12use rustc_hir::intravisit::VisitorExt;
13use rustc_macros::{LintDiagnostic, Subdiagnostic};
14use rustc_middle::ty::inhabitedness::InhabitedPredicate;
15use rustc_middle::ty::{Clause, PolyExistentialTraitRef, Ty, TyCtxt};
16use rustc_session::Session;
17use rustc_span::edition::Edition;
18use rustc_span::{Ident, Span, Symbol, sym};
19
20use crate::builtin::{InitError, ShorthandAssocTyCollector, TypeAliasBounds};
21use crate::errors::{OverruledAttributeSub, RequestedLevel};
22use crate::lifetime_syntax::LifetimeSyntaxCategories;
23use crate::{LateContext, fluent_generated as fluent};
24
25#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
ShadowedIntoIterDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ShadowedIntoIterDiag {
target: __binding_0,
edition: __binding_1,
suggestion: __binding_2,
sub: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_shadowed_into_iter);
;
let __code_4 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("iter"))
})].into_iter();
diag.arg("target", __binding_0);
diag.arg("edition", __binding_1);
diag.span_suggestions_with_style(__binding_2,
crate::fluent_generated::lint_use_iter_suggestion, __code_4,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
if let Some(__binding_3) = __binding_3 {
diag.subdiagnostic(__binding_3);
}
diag
}
};
}
}
};LintDiagnostic)]
27#[diag(lint_shadowed_into_iter)]
28pub(crate) struct ShadowedIntoIterDiag {
29 pub target: &'static str,
30 pub edition: &'static str,
31 #[suggestion(lint_use_iter_suggestion, code = "iter", applicability = "machine-applicable")]
32 pub suggestion: Span,
33 #[subdiagnostic]
34 pub sub: Option<ShadowedIntoIterDiagSub>,
35}
36
37#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ShadowedIntoIterDiagSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ShadowedIntoIterDiagSub::RemoveIntoIter { span: __binding_0
} => {
let __code_5 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_remove_into_iter_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_5, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
ShadowedIntoIterDiagSub::UseExplicitIntoIter {
start_span: __binding_0, end_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_6 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("IntoIterator::into_iter("))
});
let __code_7 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_6));
suggestions.push((__binding_1, __code_7));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_use_explicit_into_iter_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
38pub(crate) enum ShadowedIntoIterDiagSub {
39 #[suggestion(lint_remove_into_iter_suggestion, code = "", applicability = "maybe-incorrect")]
40 RemoveIntoIter {
41 #[primary_span]
42 span: Span,
43 },
44 #[multipart_suggestion(
45 lint_use_explicit_into_iter_suggestion,
46 applicability = "maybe-incorrect"
47 )]
48 UseExplicitIntoIter {
49 #[suggestion_part(code = "IntoIterator::into_iter(")]
50 start_span: Span,
51 #[suggestion_part(code = ")")]
52 end_span: Span,
53 },
54}
55
56#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
ImplicitUnsafeAutorefsDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ImplicitUnsafeAutorefsDiag {
raw_ptr_span: __binding_0,
raw_ptr_ty: __binding_1,
origin: __binding_2,
method: __binding_3,
suggestion: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_implicit_unsafe_autorefs);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("raw_ptr_ty", __binding_1);
diag.span_label(__binding_0,
crate::fluent_generated::lint_raw_ptr);
diag.subdiagnostic(__binding_2);
if let Some(__binding_3) = __binding_3 {
diag.subdiagnostic(__binding_3);
}
diag.subdiagnostic(__binding_4);
diag
}
};
}
}
};LintDiagnostic)]
58#[diag(lint_implicit_unsafe_autorefs)]
59#[note]
60pub(crate) struct ImplicitUnsafeAutorefsDiag<'a> {
61 #[label(lint_raw_ptr)]
62 pub raw_ptr_span: Span,
63 pub raw_ptr_ty: Ty<'a>,
64 #[subdiagnostic]
65 pub origin: ImplicitUnsafeAutorefsOrigin<'a>,
66 #[subdiagnostic]
67 pub method: Option<ImplicitUnsafeAutorefsMethodNote>,
68 #[subdiagnostic]
69 pub suggestion: ImplicitUnsafeAutorefsSuggestion,
70}
71
72#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
ImplicitUnsafeAutorefsOrigin<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ImplicitUnsafeAutorefsOrigin::Autoref {
autoref_span: __binding_0, autoref_ty: __binding_1 } => {
diag.store_args();
diag.arg("autoref_ty", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_autoref);
diag.span_note(__binding_0, __message);
diag.restore_args();
}
ImplicitUnsafeAutorefsOrigin::OverloadedDeref => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_overloaded_deref);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
73pub(crate) enum ImplicitUnsafeAutorefsOrigin<'a> {
74 #[note(lint_autoref)]
75 Autoref {
76 #[primary_span]
77 autoref_span: Span,
78 autoref_ty: Ty<'a>,
79 },
80 #[note(lint_overloaded_deref)]
81 OverloadedDeref,
82}
83
84#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ImplicitUnsafeAutorefsMethodNote
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ImplicitUnsafeAutorefsMethodNote {
def_span: __binding_0, method_name: __binding_1 } => {
diag.store_args();
diag.arg("method_name", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_method_def);
diag.span_note(__binding_0, __message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
85#[note(lint_method_def)]
86pub(crate) struct ImplicitUnsafeAutorefsMethodNote {
87 #[primary_span]
88 pub def_span: Span,
89 pub method_name: Symbol,
90}
91
92#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ImplicitUnsafeAutorefsSuggestion
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ImplicitUnsafeAutorefsSuggestion {
mutbl: __binding_0,
deref: __binding_1,
start_span: __binding_2,
end_span: __binding_3 } => {
let mut suggestions = Vec::new();
let __code_8 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("({1}{0}", __binding_1,
__binding_0))
});
let __code_9 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_2, __code_8));
suggestions.push((__binding_3, __code_9));
diag.store_args();
diag.arg("mutbl", __binding_0);
diag.arg("deref", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
93#[multipart_suggestion(lint_suggestion, applicability = "maybe-incorrect")]
94pub(crate) struct ImplicitUnsafeAutorefsSuggestion {
95 pub mutbl: &'static str,
96 pub deref: &'static str,
97 #[suggestion_part(code = "({mutbl}{deref}")]
98 pub start_span: Span,
99 #[suggestion_part(code = ")")]
100 pub end_span: Span,
101}
102
103#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for BuiltinWhileTrue
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinWhileTrue {
suggestion: __binding_0, replace: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_while_true);
;
let __code_10 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.arg("replace", __binding_1);
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_10,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::HideCodeInline);
diag
}
};
}
}
};LintDiagnostic)]
105#[diag(lint_builtin_while_true)]
106pub(crate) struct BuiltinWhileTrue {
107 #[suggestion(style = "short", code = "{replace}", applicability = "machine-applicable")]
108 pub suggestion: Span,
109 pub replace: String,
110}
111
112#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinNonShorthandFieldPatterns {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinNonShorthandFieldPatterns {
ident: __binding_0,
suggestion: __binding_1,
prefix: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_non_shorthand_field_patterns);
;
let __code_11 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}{0}", __binding_0,
__binding_2))
})].into_iter();
diag.arg("ident", __binding_0);
diag.arg("prefix", __binding_2);
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_11,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
113#[diag(lint_builtin_non_shorthand_field_patterns)]
114pub(crate) struct BuiltinNonShorthandFieldPatterns {
115 pub ident: Ident,
116 #[suggestion(code = "{prefix}{ident}", applicability = "machine-applicable")]
117 pub suggestion: Span,
118 pub prefix: &'static str,
119}
120
121#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for BuiltinUnsafe {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinUnsafe::AllowInternalUnsafe => {
diag.primary_message(crate::fluent_generated::lint_builtin_allow_internal_unsafe);
;
diag
}
BuiltinUnsafe::UnsafeBlock => {
diag.primary_message(crate::fluent_generated::lint_builtin_unsafe_block);
;
diag
}
BuiltinUnsafe::UnsafeExternBlock => {
diag.primary_message(crate::fluent_generated::lint_builtin_unsafe_extern_block);
;
diag
}
BuiltinUnsafe::UnsafeTrait => {
diag.primary_message(crate::fluent_generated::lint_builtin_unsafe_trait);
;
diag
}
BuiltinUnsafe::UnsafeImpl => {
diag.primary_message(crate::fluent_generated::lint_builtin_unsafe_impl);
;
diag
}
BuiltinUnsafe::NoMangleFn => {
diag.primary_message(crate::fluent_generated::lint_builtin_no_mangle_fn);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_name);
;
diag
}
BuiltinUnsafe::ExportNameFn => {
diag.primary_message(crate::fluent_generated::lint_builtin_export_name_fn);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_name);
;
diag
}
BuiltinUnsafe::LinkSectionFn => {
diag.primary_message(crate::fluent_generated::lint_builtin_link_section_fn);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_section);
;
diag
}
BuiltinUnsafe::NoMangleStatic => {
diag.primary_message(crate::fluent_generated::lint_builtin_no_mangle_static);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_name);
;
diag
}
BuiltinUnsafe::ExportNameStatic => {
diag.primary_message(crate::fluent_generated::lint_builtin_export_name_static);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_name);
;
diag
}
BuiltinUnsafe::LinkSectionStatic => {
diag.primary_message(crate::fluent_generated::lint_builtin_link_section_static);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_section);
;
diag
}
BuiltinUnsafe::NoMangleMethod => {
diag.primary_message(crate::fluent_generated::lint_builtin_no_mangle_method);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_name);
;
diag
}
BuiltinUnsafe::ExportNameMethod => {
diag.primary_message(crate::fluent_generated::lint_builtin_export_name_method);
diag.note(crate::fluent_generated::lint_builtin_overridden_symbol_name);
;
diag
}
BuiltinUnsafe::DeclUnsafeFn => {
diag.primary_message(crate::fluent_generated::lint_builtin_decl_unsafe_fn);
;
diag
}
BuiltinUnsafe::DeclUnsafeMethod => {
diag.primary_message(crate::fluent_generated::lint_builtin_decl_unsafe_method);
;
diag
}
BuiltinUnsafe::ImplUnsafeMethod => {
diag.primary_message(crate::fluent_generated::lint_builtin_impl_unsafe_method);
;
diag
}
BuiltinUnsafe::GlobalAsm => {
diag.primary_message(crate::fluent_generated::lint_builtin_global_asm);
diag.note(crate::fluent_generated::lint_builtin_global_macro_unsafety);
;
diag
}
};
}
}
};LintDiagnostic)]
122pub(crate) enum BuiltinUnsafe {
123 #[diag(lint_builtin_allow_internal_unsafe)]
124 AllowInternalUnsafe,
125 #[diag(lint_builtin_unsafe_block)]
126 UnsafeBlock,
127 #[diag(lint_builtin_unsafe_extern_block)]
128 UnsafeExternBlock,
129 #[diag(lint_builtin_unsafe_trait)]
130 UnsafeTrait,
131 #[diag(lint_builtin_unsafe_impl)]
132 UnsafeImpl,
133 #[diag(lint_builtin_no_mangle_fn)]
134 #[note(lint_builtin_overridden_symbol_name)]
135 NoMangleFn,
136 #[diag(lint_builtin_export_name_fn)]
137 #[note(lint_builtin_overridden_symbol_name)]
138 ExportNameFn,
139 #[diag(lint_builtin_link_section_fn)]
140 #[note(lint_builtin_overridden_symbol_section)]
141 LinkSectionFn,
142 #[diag(lint_builtin_no_mangle_static)]
143 #[note(lint_builtin_overridden_symbol_name)]
144 NoMangleStatic,
145 #[diag(lint_builtin_export_name_static)]
146 #[note(lint_builtin_overridden_symbol_name)]
147 ExportNameStatic,
148 #[diag(lint_builtin_link_section_static)]
149 #[note(lint_builtin_overridden_symbol_section)]
150 LinkSectionStatic,
151 #[diag(lint_builtin_no_mangle_method)]
152 #[note(lint_builtin_overridden_symbol_name)]
153 NoMangleMethod,
154 #[diag(lint_builtin_export_name_method)]
155 #[note(lint_builtin_overridden_symbol_name)]
156 ExportNameMethod,
157 #[diag(lint_builtin_decl_unsafe_fn)]
158 DeclUnsafeFn,
159 #[diag(lint_builtin_decl_unsafe_method)]
160 DeclUnsafeMethod,
161 #[diag(lint_builtin_impl_unsafe_method)]
162 ImplUnsafeMethod,
163 #[diag(lint_builtin_global_asm)]
164 #[note(lint_builtin_global_macro_unsafety)]
165 GlobalAsm,
166}
167
168#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinMissingDoc<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinMissingDoc { article: __binding_0, desc: __binding_1
} => {
diag.primary_message(crate::fluent_generated::lint_builtin_missing_doc);
;
diag.arg("article", __binding_0);
diag.arg("desc", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
169#[diag(lint_builtin_missing_doc)]
170pub(crate) struct BuiltinMissingDoc<'a> {
171 pub article: &'a str,
172 pub desc: &'a str,
173}
174
175#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinMissingCopyImpl {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinMissingCopyImpl => {
diag.primary_message(crate::fluent_generated::lint_builtin_missing_copy_impl);
;
diag
}
};
}
}
};LintDiagnostic)]
176#[diag(lint_builtin_missing_copy_impl)]
177pub(crate) struct BuiltinMissingCopyImpl;
178
179pub(crate) struct BuiltinMissingDebugImpl<'a> {
180 pub tcx: TyCtxt<'a>,
181 pub def_id: DefId,
182}
183
184impl<'a> LintDiagnostic<'a, ()> for BuiltinMissingDebugImpl<'_> {
186 fn decorate_lint<'b>(self, diag: &'b mut rustc_errors::Diag<'a, ()>) {
187 diag.primary_message(fluent::lint_builtin_missing_debug_impl);
188 diag.arg("debug", self.tcx.def_path_str(self.def_id));
189 }
190}
191
192#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinAnonymousParams<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinAnonymousParams {
suggestion: __binding_0, ty_snip: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_anonymous_params);
;
let __code_12 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("_: {0}", __binding_1))
})].into_iter();
diag.arg("ty_snip", __binding_1);
diag.span_suggestions_with_style(__binding_0.0,
crate::fluent_generated::_subdiag::suggestion, __code_12,
__binding_0.1, rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
193#[diag(lint_builtin_anonymous_params)]
194pub(crate) struct BuiltinAnonymousParams<'a> {
195 #[suggestion(code = "_: {ty_snip}")]
196 pub suggestion: (Span, Applicability),
197 pub ty_snip: &'a str,
198}
199
200#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinUnusedDocComment<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinUnusedDocComment {
kind: __binding_0, label: __binding_1, sub: __binding_2 } =>
{
diag.primary_message(crate::fluent_generated::lint_builtin_unused_doc_comment);
;
diag.arg("kind", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
201#[diag(lint_builtin_unused_doc_comment)]
202pub(crate) struct BuiltinUnusedDocComment<'a> {
203 pub kind: &'a str,
204 #[label]
205 pub label: Span,
206 #[subdiagnostic]
207 pub sub: BuiltinUnusedDocCommentSub,
208}
209
210#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for BuiltinUnusedDocCommentSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
BuiltinUnusedDocCommentSub::PlainHelp => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_plain_help);
diag.help(__message);
diag.restore_args();
}
BuiltinUnusedDocCommentSub::BlockHelp => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_block_help);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
211pub(crate) enum BuiltinUnusedDocCommentSub {
212 #[help(lint_plain_help)]
213 PlainHelp,
214 #[help(lint_block_help)]
215 BlockHelp,
216}
217
218#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinNoMangleGeneric {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinNoMangleGeneric { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_no_mangle_generic);
;
let __code_13 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_13,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::HideCodeInline);
diag
}
};
}
}
};LintDiagnostic)]
219#[diag(lint_builtin_no_mangle_generic)]
220pub(crate) struct BuiltinNoMangleGeneric {
221 #[suggestion(style = "short", code = "", applicability = "maybe-incorrect")]
224 pub suggestion: Span,
225}
226
227#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinConstNoMangle {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinConstNoMangle { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_const_no_mangle);
;
let __code_14 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("pub static "))
})].into_iter();
if let Some(__binding_0) = __binding_0 {
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_14,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
}
diag
}
};
}
}
};LintDiagnostic)]
228#[diag(lint_builtin_const_no_mangle)]
229pub(crate) struct BuiltinConstNoMangle {
230 #[suggestion(code = "pub static ", applicability = "machine-applicable")]
231 pub suggestion: Option<Span>,
232}
233
234#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinMutablesTransmutes {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinMutablesTransmutes => {
diag.primary_message(crate::fluent_generated::lint_builtin_mutable_transmutes);
;
diag
}
};
}
}
};LintDiagnostic)]
235#[diag(lint_builtin_mutable_transmutes)]
236pub(crate) struct BuiltinMutablesTransmutes;
237
238#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinUnstableFeatures {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinUnstableFeatures => {
diag.primary_message(crate::fluent_generated::lint_builtin_unstable_features);
;
diag
}
};
}
}
};LintDiagnostic)]
239#[diag(lint_builtin_unstable_features)]
240pub(crate) struct BuiltinUnstableFeatures;
241
242pub(crate) struct BuiltinUngatedAsyncFnTrackCaller<'a> {
244 pub label: Span,
245 pub session: &'a Session,
246}
247
248impl<'a> LintDiagnostic<'a, ()> for BuiltinUngatedAsyncFnTrackCaller<'_> {
249 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
250 diag.primary_message(fluent::lint_ungated_async_fn_track_caller);
251 diag.span_label(self.label, fluent::lint_label);
252 rustc_session::parse::add_feature_diagnostics(
253 diag,
254 self.session,
255 sym::async_fn_track_caller,
256 );
257 }
258}
259
260#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinUnreachablePub<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinUnreachablePub {
what: __binding_0,
new_vis: __binding_1,
suggestion: __binding_2,
help: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_unreachable_pub);
;
let __code_15 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.arg("what", __binding_0);
diag.arg("new_vis", __binding_1);
diag.span_suggestions_with_style(__binding_2.0,
crate::fluent_generated::_subdiag::suggestion, __code_15,
__binding_2.1, rustc_errors::SuggestionStyle::ShowCode);
if __binding_3 {
diag.help(crate::fluent_generated::_subdiag::help);
}
diag
}
};
}
}
};LintDiagnostic)]
261#[diag(lint_builtin_unreachable_pub)]
262pub(crate) struct BuiltinUnreachablePub<'a> {
263 pub what: &'a str,
264 pub new_vis: &'a str,
265 #[suggestion(code = "{new_vis}")]
266 pub suggestion: (Span, Applicability),
267 #[help]
268 pub help: bool,
269}
270
271#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
MacroExprFragment2024 {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
MacroExprFragment2024 { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_macro_expr_fragment_specifier_2024_migration);
;
let __code_16 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("expr_2021"))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_16,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
272#[diag(lint_macro_expr_fragment_specifier_2024_migration)]
273pub(crate) struct MacroExprFragment2024 {
274 #[suggestion(code = "expr_2021", applicability = "machine-applicable")]
275 pub suggestion: Span,
276}
277
278pub(crate) struct BuiltinTypeAliasBounds<'hir> {
279 pub in_where_clause: bool,
280 pub label: Span,
281 pub enable_feat_help: bool,
282 pub suggestions: Vec<(Span, String)>,
283 pub preds: &'hir [hir::WherePredicate<'hir>],
284 pub ty: Option<&'hir hir::Ty<'hir>>,
285}
286
287impl<'a> LintDiagnostic<'a, ()> for BuiltinTypeAliasBounds<'_> {
288 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
289 diag.primary_message(if self.in_where_clause {
290 fluent::lint_builtin_type_alias_bounds_where_clause
291 } else {
292 fluent::lint_builtin_type_alias_bounds_param_bounds
293 });
294 diag.span_label(self.label, fluent::lint_builtin_type_alias_bounds_label);
295 diag.note(fluent::lint_builtin_type_alias_bounds_limitation_note);
296 if self.enable_feat_help {
297 diag.help(fluent::lint_builtin_type_alias_bounds_enable_feat_help);
298 }
299
300 let mut collector = ShorthandAssocTyCollector { qselves: Vec::new() };
303 if let Some(ty) = self.ty {
304 collector.visit_ty_unambig(ty);
305 }
306
307 let affect_object_lifetime_defaults = self
308 .preds
309 .iter()
310 .filter(|pred| pred.kind.in_where_clause() == self.in_where_clause)
311 .any(|pred| TypeAliasBounds::affects_object_lifetime_defaults(pred));
312
313 let applicability = if !collector.qselves.is_empty() || affect_object_lifetime_defaults {
316 Applicability::MaybeIncorrect
317 } else {
318 Applicability::MachineApplicable
319 };
320
321 diag.arg("count", self.suggestions.len());
322 diag.multipart_suggestion(fluent::lint_suggestion, self.suggestions, applicability);
323
324 for qself in collector.qselves {
335 diag.multipart_suggestion(
336 fluent::lint_builtin_type_alias_bounds_qualify_assoc_tys_sugg,
337 <[_]>::into_vec(::alloc::boxed::box_new([(qself.shrink_to_lo(), "<".into()),
(qself.shrink_to_hi(), " as /* Trait */>".into())]))vec![
338 (qself.shrink_to_lo(), "<".into()),
339 (qself.shrink_to_hi(), " as /* Trait */>".into()),
340 ],
341 Applicability::HasPlaceholders,
342 );
343 }
344 }
345}
346
347#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinTrivialBounds<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinTrivialBounds {
predicate_kind_name: __binding_0, predicate: __binding_1 }
=> {
diag.primary_message(crate::fluent_generated::lint_builtin_trivial_bounds);
;
diag.arg("predicate_kind_name", __binding_0);
diag.arg("predicate", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
348#[diag(lint_builtin_trivial_bounds)]
349pub(crate) struct BuiltinTrivialBounds<'a> {
350 pub predicate_kind_name: &'a str,
351 pub predicate: Clause<'a>,
352}
353
354#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinDoubleNegations {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinDoubleNegations { add_parens: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_double_negations);
diag.note(crate::fluent_generated::lint_note);
diag.note(crate::fluent_generated::lint_note_decrement);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
355#[diag(lint_builtin_double_negations)]
356#[note(lint_note)]
357#[note(lint_note_decrement)]
358pub(crate) struct BuiltinDoubleNegations {
359 #[subdiagnostic]
360 pub add_parens: BuiltinDoubleNegationsAddParens,
361}
362
363#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for BuiltinDoubleNegationsAddParens {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
BuiltinDoubleNegationsAddParens {
start_span: __binding_0, end_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_17 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("("))
});
let __code_18 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_17));
suggestions.push((__binding_1, __code_18));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_add_parens_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
364#[multipart_suggestion(lint_add_parens_suggestion, applicability = "maybe-incorrect")]
365pub(crate) struct BuiltinDoubleNegationsAddParens {
366 #[suggestion_part(code = "(")]
367 pub start_span: Span,
368 #[suggestion_part(code = ")")]
369 pub end_span: Span,
370}
371
372#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinEllipsisInclusiveRangePatternsLint {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinEllipsisInclusiveRangePatternsLint::Parenthesise {
suggestion: __binding_0, replace: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_ellipsis_inclusive_range_patterns);
;
let __code_19 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.arg("replace", __binding_1);
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_19,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
BuiltinEllipsisInclusiveRangePatternsLint::NonParenthesise {
suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_ellipsis_inclusive_range_patterns);
;
let __code_20 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("..="))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_20,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::HideCodeInline);
diag
}
};
}
}
};LintDiagnostic)]
373pub(crate) enum BuiltinEllipsisInclusiveRangePatternsLint {
374 #[diag(lint_builtin_ellipsis_inclusive_range_patterns)]
375 Parenthesise {
376 #[suggestion(code = "{replace}", applicability = "machine-applicable")]
377 suggestion: Span,
378 replace: String,
379 },
380 #[diag(lint_builtin_ellipsis_inclusive_range_patterns)]
381 NonParenthesise {
382 #[suggestion(style = "short", code = "..=", applicability = "machine-applicable")]
383 suggestion: Span,
384 },
385}
386
387#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinKeywordIdents {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinKeywordIdents {
kw: __binding_0,
next: __binding_1,
suggestion: __binding_2,
prefix: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_keyword_idents);
;
let __code_21 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}r#{0}", __binding_0,
__binding_3))
})].into_iter();
diag.arg("kw", __binding_0);
diag.arg("next", __binding_1);
diag.arg("prefix", __binding_3);
diag.span_suggestions_with_style(__binding_2,
crate::fluent_generated::_subdiag::suggestion, __code_21,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
388#[diag(lint_builtin_keyword_idents)]
389pub(crate) struct BuiltinKeywordIdents {
390 pub kw: Ident,
391 pub next: Edition,
392 #[suggestion(code = "{prefix}r#{kw}", applicability = "machine-applicable")]
393 pub suggestion: Span,
394 pub prefix: &'static str,
395}
396
397#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinExplicitOutlives {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinExplicitOutlives {
count: __binding_0, suggestion: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_explicit_outlives);
;
diag.arg("count", __binding_0);
diag.subdiagnostic(__binding_1);
diag
}
};
}
}
};LintDiagnostic)]
398#[diag(lint_builtin_explicit_outlives)]
399pub(crate) struct BuiltinExplicitOutlives {
400 pub count: usize,
401 #[subdiagnostic]
402 pub suggestion: BuiltinExplicitOutlivesSuggestion,
403}
404
405#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for BuiltinExplicitOutlivesSuggestion
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
BuiltinExplicitOutlivesSuggestion {
spans: __binding_0, applicability: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_22 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
for __binding_0 in __binding_0 {
suggestions.push((__binding_0, __code_22.clone()));
}
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
__binding_1, rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
406#[multipart_suggestion(lint_suggestion)]
407pub(crate) struct BuiltinExplicitOutlivesSuggestion {
408 #[suggestion_part(code = "")]
409 pub spans: Vec<Span>,
410 #[applicability]
411 pub applicability: Applicability,
412}
413
414#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinIncompleteFeatures {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinIncompleteFeatures {
name: __binding_0, note: __binding_1, help: __binding_2 } =>
{
diag.primary_message(crate::fluent_generated::lint_builtin_incomplete_features);
;
diag.arg("name", __binding_0);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
if let Some(__binding_2) = __binding_2 {
diag.subdiagnostic(__binding_2);
}
diag
}
};
}
}
};LintDiagnostic)]
415#[diag(lint_builtin_incomplete_features)]
416pub(crate) struct BuiltinIncompleteFeatures {
417 pub name: Symbol,
418 #[subdiagnostic]
419 pub note: Option<BuiltinFeatureIssueNote>,
420 #[subdiagnostic]
421 pub help: Option<BuiltinIncompleteFeaturesHelp>,
422}
423
424#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinInternalFeatures {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinInternalFeatures { name: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_internal_features);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
425#[diag(lint_builtin_internal_features)]
426#[note]
427pub(crate) struct BuiltinInternalFeatures {
428 pub name: Symbol,
429}
430
431#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for BuiltinIncompleteFeaturesHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
BuiltinIncompleteFeaturesHelp => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_help);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
432#[help(lint_help)]
433pub(crate) struct BuiltinIncompleteFeaturesHelp;
434
435#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for BuiltinFeatureIssueNote {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
BuiltinFeatureIssueNote { n: __binding_0 } => {
diag.store_args();
diag.arg("n", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_note);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
436#[note(lint_note)]
437pub(crate) struct BuiltinFeatureIssueNote {
438 pub n: NonZero<u32>,
439}
440
441pub(crate) struct BuiltinUnpermittedTypeInit<'a> {
442 pub msg: DiagMessage,
443 pub ty: Ty<'a>,
444 pub label: Span,
445 pub sub: BuiltinUnpermittedTypeInitSub,
446 pub tcx: TyCtxt<'a>,
447}
448
449impl<'a> LintDiagnostic<'a, ()> for BuiltinUnpermittedTypeInit<'_> {
450 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
451 diag.primary_message(self.msg);
452 diag.arg("ty", self.ty);
453 diag.span_label(self.label, fluent::lint_builtin_unpermitted_type_init_label);
454 if let InhabitedPredicate::True = self.ty.inhabited_predicate(self.tcx) {
455 diag.span_label(
457 self.label,
458 fluent::lint_builtin_unpermitted_type_init_label_suggestion,
459 );
460 }
461 self.sub.add_to_diag(diag);
462 }
463}
464
465pub(crate) struct BuiltinUnpermittedTypeInitSub {
467 pub err: InitError,
468}
469
470impl Subdiagnostic for BuiltinUnpermittedTypeInitSub {
471 fn add_to_diag<G: EmissionGuarantee>(self, diag: &mut Diag<'_, G>) {
472 let mut err = self.err;
473 loop {
474 if let Some(span) = err.span {
475 diag.span_note(span, err.message);
476 } else {
477 diag.note(err.message);
478 }
479 if let Some(e) = err.nested {
480 err = *e;
481 } else {
482 break;
483 }
484 }
485 }
486}
487
488#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinClashingExtern<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinClashingExtern::SameName {
this: __binding_0,
orig: __binding_1,
previous_decl_label: __binding_2,
mismatch_label: __binding_3,
sub: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_clashing_extern_same_name);
;
diag.arg("this", __binding_0);
diag.arg("orig", __binding_1);
diag.span_label(__binding_2,
crate::fluent_generated::lint_previous_decl_label);
diag.span_label(__binding_3,
crate::fluent_generated::lint_mismatch_label);
diag.subdiagnostic(__binding_4);
diag
}
BuiltinClashingExtern::DiffName {
this: __binding_0,
orig: __binding_1,
previous_decl_label: __binding_2,
mismatch_label: __binding_3,
sub: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_clashing_extern_diff_name);
;
diag.arg("this", __binding_0);
diag.arg("orig", __binding_1);
diag.span_label(__binding_2,
crate::fluent_generated::lint_previous_decl_label);
diag.span_label(__binding_3,
crate::fluent_generated::lint_mismatch_label);
diag.subdiagnostic(__binding_4);
diag
}
};
}
}
};LintDiagnostic)]
489pub(crate) enum BuiltinClashingExtern<'a> {
490 #[diag(lint_builtin_clashing_extern_same_name)]
491 SameName {
492 this: Symbol,
493 orig: Symbol,
494 #[label(lint_previous_decl_label)]
495 previous_decl_label: Span,
496 #[label(lint_mismatch_label)]
497 mismatch_label: Span,
498 #[subdiagnostic]
499 sub: BuiltinClashingExternSub<'a>,
500 },
501 #[diag(lint_builtin_clashing_extern_diff_name)]
502 DiffName {
503 this: Symbol,
504 orig: Symbol,
505 #[label(lint_previous_decl_label)]
506 previous_decl_label: Span,
507 #[label(lint_mismatch_label)]
508 mismatch_label: Span,
509 #[subdiagnostic]
510 sub: BuiltinClashingExternSub<'a>,
511 },
512}
513
514pub(crate) struct BuiltinClashingExternSub<'a> {
516 pub tcx: TyCtxt<'a>,
517 pub expected: Ty<'a>,
518 pub found: Ty<'a>,
519}
520
521impl Subdiagnostic for BuiltinClashingExternSub<'_> {
522 fn add_to_diag<G: EmissionGuarantee>(self, diag: &mut Diag<'_, G>) {
523 let mut expected_str = DiagStyledString::new();
524 expected_str.push(self.expected.fn_sig(self.tcx).to_string(), false);
525 let mut found_str = DiagStyledString::new();
526 found_str.push(self.found.fn_sig(self.tcx).to_string(), true);
527 diag.note_expected_found("", expected_str, "", found_str);
528 }
529}
530
531#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinDerefNullptr {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinDerefNullptr { label: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_builtin_deref_nullptr);
;
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
532#[diag(lint_builtin_deref_nullptr)]
533pub(crate) struct BuiltinDerefNullptr {
534 #[label]
535 pub label: Span,
536}
537
538#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BuiltinSpecialModuleNameUsed {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BuiltinSpecialModuleNameUsed::Lib => {
diag.primary_message(crate::fluent_generated::lint_builtin_special_module_name_used_lib);
diag.note(crate::fluent_generated::_subdiag::note);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
BuiltinSpecialModuleNameUsed::Main => {
diag.primary_message(crate::fluent_generated::lint_builtin_special_module_name_used_main);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag
}
};
}
}
};LintDiagnostic)]
541pub(crate) enum BuiltinSpecialModuleNameUsed {
542 #[diag(lint_builtin_special_module_name_used_lib)]
543 #[note]
544 #[help]
545 Lib,
546 #[diag(lint_builtin_special_module_name_used_main)]
547 #[note]
548 Main,
549}
550
551#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
SupertraitAsDerefTarget<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SupertraitAsDerefTarget {
self_ty: __binding_0,
supertrait_principal: __binding_1,
target_principal: __binding_2,
label: __binding_3,
label2: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_supertrait_as_deref_target);
;
diag.arg("self_ty", __binding_0);
diag.arg("supertrait_principal", __binding_1);
diag.arg("target_principal", __binding_2);
diag.span_label(__binding_3,
crate::fluent_generated::_subdiag::label);
if let Some(__binding_4) = __binding_4 {
diag.subdiagnostic(__binding_4);
}
diag
}
};
}
}
};LintDiagnostic)]
553#[diag(lint_supertrait_as_deref_target)]
554pub(crate) struct SupertraitAsDerefTarget<'a> {
555 pub self_ty: Ty<'a>,
556 pub supertrait_principal: PolyExistentialTraitRef<'a>,
557 pub target_principal: PolyExistentialTraitRef<'a>,
558 #[label]
559 pub label: Span,
560 #[subdiagnostic]
561 pub label2: Option<SupertraitAsDerefTargetLabel>,
562}
563
564#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for SupertraitAsDerefTargetLabel {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
SupertraitAsDerefTargetLabel { label: __binding_0 } => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label2);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
565#[label(lint_label2)]
566pub(crate) struct SupertraitAsDerefTargetLabel {
567 #[primary_span]
568 pub label: Span,
569}
570
571#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
EnumIntrinsicsMemDiscriminate<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
EnumIntrinsicsMemDiscriminate {
ty_param: __binding_0, note: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_enum_intrinsics_mem_discriminant);
;
diag.arg("ty_param", __binding_0);
diag.span_note(__binding_1,
crate::fluent_generated::_subdiag::note);
diag
}
};
}
}
};LintDiagnostic)]
573#[diag(lint_enum_intrinsics_mem_discriminant)]
574pub(crate) struct EnumIntrinsicsMemDiscriminate<'a> {
575 pub ty_param: Ty<'a>,
576 #[note]
577 pub note: Span,
578}
579
580#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
EnumIntrinsicsMemVariant<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
EnumIntrinsicsMemVariant { ty_param: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_enum_intrinsics_mem_variant);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("ty_param", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
581#[diag(lint_enum_intrinsics_mem_variant)]
582#[note]
583pub(crate) struct EnumIntrinsicsMemVariant<'a> {
584 pub ty_param: Ty<'a>,
585}
586
587#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for Expectation {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
Expectation { rationale: __binding_0, note: __binding_1 } =>
{
diag.primary_message(crate::fluent_generated::lint_expectation);
;
if let Some(__binding_0) = __binding_0 {
diag.subdiagnostic(__binding_0);
}
if __binding_1 {
diag.note(crate::fluent_generated::_subdiag::note);
}
diag
}
};
}
}
};LintDiagnostic)]
589#[diag(lint_expectation)]
590pub(crate) struct Expectation {
591 #[subdiagnostic]
592 pub rationale: Option<ExpectationNote>,
593 #[note]
594 pub note: bool,
595}
596
597#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ExpectationNote {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ExpectationNote { rationale: __binding_0 } => {
diag.store_args();
diag.arg("rationale", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_rationale);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
598#[note(lint_rationale)]
599pub(crate) struct ExpectationNote {
600 pub rationale: Symbol,
601}
602
603#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UselessPtrNullChecksDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UselessPtrNullChecksDiag::FnPtr {
orig_ty: __binding_0, label: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_useless_ptr_null_checks_fn_ptr);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("orig_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag
}
UselessPtrNullChecksDiag::Ref {
orig_ty: __binding_0, label: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_useless_ptr_null_checks_ref);
;
diag.arg("orig_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag
}
UselessPtrNullChecksDiag::FnRet { fn_name: __binding_0 } =>
{
diag.primary_message(crate::fluent_generated::lint_useless_ptr_null_checks_fn_ret);
;
diag.arg("fn_name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
605pub(crate) enum UselessPtrNullChecksDiag<'a> {
606 #[diag(lint_useless_ptr_null_checks_fn_ptr)]
607 #[help]
608 FnPtr {
609 orig_ty: Ty<'a>,
610 #[label]
611 label: Span,
612 },
613 #[diag(lint_useless_ptr_null_checks_ref)]
614 Ref {
615 orig_ty: Ty<'a>,
616 #[label]
617 label: Span,
618 },
619 #[diag(lint_useless_ptr_null_checks_fn_ret)]
620 FnRet { fn_name: Ident },
621}
622
623#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
InvalidNullArgumentsDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidNullArgumentsDiag::NullPtrInline {
null_span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_null_arguments);
diag.help(crate::fluent_generated::lint_doc);
;
diag.span_label(__binding_0,
crate::fluent_generated::lint_origin);
diag
}
InvalidNullArgumentsDiag::NullPtrThroughBinding {
null_span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_null_arguments);
diag.help(crate::fluent_generated::lint_doc);
;
diag.span_note(__binding_0,
crate::fluent_generated::lint_origin);
diag
}
};
}
}
};LintDiagnostic)]
624pub(crate) enum InvalidNullArgumentsDiag {
625 #[diag(lint_invalid_null_arguments)]
626 #[help(lint_doc)]
627 NullPtrInline {
628 #[label(lint_origin)]
629 null_span: Span,
630 },
631 #[diag(lint_invalid_null_arguments)]
632 #[help(lint_doc)]
633 NullPtrThroughBinding {
634 #[note(lint_origin)]
635 null_span: Span,
636 },
637}
638
639#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
ForLoopsOverFalliblesDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ForLoopsOverFalliblesDiag {
article: __binding_0,
ref_prefix: __binding_1,
ty: __binding_2,
sub: __binding_3,
question_mark: __binding_4,
suggestion: __binding_5 } => {
diag.primary_message(crate::fluent_generated::lint_for_loops_over_fallibles);
;
diag.arg("article", __binding_0);
diag.arg("ref_prefix", __binding_1);
diag.arg("ty", __binding_2);
diag.subdiagnostic(__binding_3);
if let Some(__binding_4) = __binding_4 {
diag.subdiagnostic(__binding_4);
}
diag.subdiagnostic(__binding_5);
diag
}
};
}
}
};LintDiagnostic)]
641#[diag(lint_for_loops_over_fallibles)]
642pub(crate) struct ForLoopsOverFalliblesDiag<'a> {
643 pub article: &'static str,
644 pub ref_prefix: &'static str,
645 pub ty: &'static str,
646 #[subdiagnostic]
647 pub sub: ForLoopsOverFalliblesLoopSub<'a>,
648 #[subdiagnostic]
649 pub question_mark: Option<ForLoopsOverFalliblesQuestionMark>,
650 #[subdiagnostic]
651 pub suggestion: ForLoopsOverFalliblesSuggestion<'a>,
652}
653
654#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
ForLoopsOverFalliblesLoopSub<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ForLoopsOverFalliblesLoopSub::RemoveNext {
suggestion: __binding_0, recv_snip: __binding_1 } => {
let __code_23 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(".by_ref()"))
})].into_iter();
diag.store_args();
diag.arg("recv_snip", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_remove_next);
diag.span_suggestions_with_style(__binding_0, __message,
__code_23, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
ForLoopsOverFalliblesLoopSub::UseWhileLet {
start_span: __binding_0,
end_span: __binding_1,
var: __binding_2 } => {
let mut suggestions = Vec::new();
let __code_24 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("while let {0}(",
__binding_2))
});
let __code_25 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(") = "))
});
suggestions.push((__binding_0, __code_24));
suggestions.push((__binding_1, __code_25));
diag.store_args();
diag.arg("var", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_use_while_let);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
655pub(crate) enum ForLoopsOverFalliblesLoopSub<'a> {
656 #[suggestion(lint_remove_next, code = ".by_ref()", applicability = "maybe-incorrect")]
657 RemoveNext {
658 #[primary_span]
659 suggestion: Span,
660 recv_snip: String,
661 },
662 #[multipart_suggestion(lint_use_while_let, applicability = "maybe-incorrect")]
663 UseWhileLet {
664 #[suggestion_part(code = "while let {var}(")]
665 start_span: Span,
666 #[suggestion_part(code = ") = ")]
667 end_span: Span,
668 var: &'a str,
669 },
670}
671
672#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ForLoopsOverFalliblesQuestionMark
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ForLoopsOverFalliblesQuestionMark { suggestion: __binding_0
} => {
let __code_26 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("?"))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_use_question_mark);
diag.span_suggestions_with_style(__binding_0, __message,
__code_26, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
673#[suggestion(lint_use_question_mark, code = "?", applicability = "maybe-incorrect")]
674pub(crate) struct ForLoopsOverFalliblesQuestionMark {
675 #[primary_span]
676 pub suggestion: Span,
677}
678
679#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
ForLoopsOverFalliblesSuggestion<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ForLoopsOverFalliblesSuggestion {
var: __binding_0,
start_span: __binding_1,
end_span: __binding_2 } => {
let mut suggestions = Vec::new();
let __code_27 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("if let {0}(",
__binding_0))
});
let __code_28 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(") = "))
});
suggestions.push((__binding_1, __code_27));
suggestions.push((__binding_2, __code_28));
diag.store_args();
diag.arg("var", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
680#[multipart_suggestion(lint_suggestion, applicability = "maybe-incorrect")]
681pub(crate) struct ForLoopsOverFalliblesSuggestion<'a> {
682 pub var: &'a str,
683 #[suggestion_part(code = "if let {var}(")]
684 pub start_span: Span,
685 #[suggestion_part(code = ") = ")]
686 pub end_span: Span,
687}
688
689#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UseLetUnderscoreIgnoreSuggestion
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UseLetUnderscoreIgnoreSuggestion::Note => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_use_let_underscore_ignore_suggestion);
diag.note(__message);
diag.restore_args();
}
UseLetUnderscoreIgnoreSuggestion::Suggestion {
start_span: __binding_0, end_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_29 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("let _ = "))
});
let __code_30 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
suggestions.push((__binding_0, __code_29));
suggestions.push((__binding_1, __code_30));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_use_let_underscore_ignore_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
690pub(crate) enum UseLetUnderscoreIgnoreSuggestion {
691 #[note(lint_use_let_underscore_ignore_suggestion)]
692 Note,
693 #[multipart_suggestion(
694 lint_use_let_underscore_ignore_suggestion,
695 style = "verbose",
696 applicability = "maybe-incorrect"
697 )]
698 Suggestion {
699 #[suggestion_part(code = "let _ = ")]
700 start_span: Span,
701 #[suggestion_part(code = "")]
702 end_span: Span,
703 },
704}
705
706#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
DropRefDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DropRefDiag {
arg_ty: __binding_0, label: __binding_1, sugg: __binding_2 }
=> {
diag.primary_message(crate::fluent_generated::lint_dropping_references);
;
diag.arg("arg_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
708#[diag(lint_dropping_references)]
709pub(crate) struct DropRefDiag<'a> {
710 pub arg_ty: Ty<'a>,
711 #[label]
712 pub label: Span,
713 #[subdiagnostic]
714 pub sugg: UseLetUnderscoreIgnoreSuggestion,
715}
716
717#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
DropCopyDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DropCopyDiag {
arg_ty: __binding_0, label: __binding_1, sugg: __binding_2 }
=> {
diag.primary_message(crate::fluent_generated::lint_dropping_copy_types);
;
diag.arg("arg_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
718#[diag(lint_dropping_copy_types)]
719pub(crate) struct DropCopyDiag<'a> {
720 pub arg_ty: Ty<'a>,
721 #[label]
722 pub label: Span,
723 #[subdiagnostic]
724 pub sugg: UseLetUnderscoreIgnoreSuggestion,
725}
726
727#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
ForgetRefDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ForgetRefDiag {
arg_ty: __binding_0, label: __binding_1, sugg: __binding_2 }
=> {
diag.primary_message(crate::fluent_generated::lint_forgetting_references);
;
diag.arg("arg_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
728#[diag(lint_forgetting_references)]
729pub(crate) struct ForgetRefDiag<'a> {
730 pub arg_ty: Ty<'a>,
731 #[label]
732 pub label: Span,
733 #[subdiagnostic]
734 pub sugg: UseLetUnderscoreIgnoreSuggestion,
735}
736
737#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
ForgetCopyDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ForgetCopyDiag {
arg_ty: __binding_0, label: __binding_1, sugg: __binding_2 }
=> {
diag.primary_message(crate::fluent_generated::lint_forgetting_copy_types);
;
diag.arg("arg_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
738#[diag(lint_forgetting_copy_types)]
739pub(crate) struct ForgetCopyDiag<'a> {
740 pub arg_ty: Ty<'a>,
741 #[label]
742 pub label: Span,
743 #[subdiagnostic]
744 pub sugg: UseLetUnderscoreIgnoreSuggestion,
745}
746
747#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UndroppedManuallyDropsDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UndroppedManuallyDropsDiag {
arg_ty: __binding_0,
label: __binding_1,
suggestion: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_undropped_manually_drops);
;
diag.arg("arg_ty", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
748#[diag(lint_undropped_manually_drops)]
749pub(crate) struct UndroppedManuallyDropsDiag<'a> {
750 pub arg_ty: Ty<'a>,
751 #[label]
752 pub label: Span,
753 #[subdiagnostic]
754 pub suggestion: UndroppedManuallyDropsSuggestion,
755}
756
757#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UndroppedManuallyDropsSuggestion
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UndroppedManuallyDropsSuggestion {
start_span: __binding_0, end_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_31 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("std::mem::ManuallyDrop::into_inner("))
});
let __code_32 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_31));
suggestions.push((__binding_1, __code_32));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
758#[multipart_suggestion(lint_suggestion, applicability = "machine-applicable")]
759pub(crate) struct UndroppedManuallyDropsSuggestion {
760 #[suggestion_part(code = "std::mem::ManuallyDrop::into_inner(")]
761 pub start_span: Span,
762 #[suggestion_part(code = ")")]
763 pub end_span: Span,
764}
765
766#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
InvalidFromUtf8Diag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidFromUtf8Diag::Unchecked {
method: __binding_0,
valid_up_to: __binding_1,
label: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_from_utf8_unchecked);
;
diag.arg("method", __binding_0);
diag.arg("valid_up_to", __binding_1);
diag.span_label(__binding_2,
crate::fluent_generated::_subdiag::label);
diag
}
InvalidFromUtf8Diag::Checked {
method: __binding_0,
valid_up_to: __binding_1,
label: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_from_utf8_checked);
;
diag.arg("method", __binding_0);
diag.arg("valid_up_to", __binding_1);
diag.span_label(__binding_2,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
768pub(crate) enum InvalidFromUtf8Diag {
769 #[diag(lint_invalid_from_utf8_unchecked)]
770 Unchecked {
771 method: String,
772 valid_up_to: usize,
773 #[label]
774 label: Span,
775 },
776 #[diag(lint_invalid_from_utf8_checked)]
777 Checked {
778 method: String,
779 valid_up_to: usize,
780 #[label]
781 label: Span,
782 },
783}
784
785#[derive(const _: () =
{
impl<'__a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
ConstItemInteriorMutationsDiag<'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ConstItemInteriorMutationsDiag {
method_name: __binding_0,
const_name: __binding_1,
const_ty: __binding_2,
receiver_span: __binding_3,
sugg_static: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_const_item_interior_mutations);
diag.note(crate::fluent_generated::lint_temporary);
diag.note(crate::fluent_generated::lint_never_original);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("method_name", __binding_0);
diag.arg("const_name", __binding_1);
diag.arg("const_ty", __binding_2);
diag.span_label(__binding_3,
crate::fluent_generated::_subdiag::label);
if let Some(__binding_4) = __binding_4 {
diag.subdiagnostic(__binding_4);
}
diag
}
};
}
}
};LintDiagnostic)]
787#[diag(lint_const_item_interior_mutations)]
788#[note(lint_temporary)]
789#[note(lint_never_original)]
790#[help]
791pub(crate) struct ConstItemInteriorMutationsDiag<'tcx> {
792 pub method_name: Ident,
793 pub const_name: Ident,
794 pub const_ty: Ty<'tcx>,
795 #[label]
796 pub receiver_span: Span,
797 #[subdiagnostic]
798 pub sugg_static: Option<ConstItemInteriorMutationsSuggestionStatic>,
799}
800
801#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for
ConstItemInteriorMutationsSuggestionStatic {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ConstItemInteriorMutationsSuggestionStatic::Spanful {
const_: __binding_0, before: __binding_1 } => {
let __code_33 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}static ",
__binding_1))
})].into_iter();
diag.store_args();
diag.arg("before", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_static);
diag.span_suggestions_with_style(__binding_0, __message,
__code_33, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
ConstItemInteriorMutationsSuggestionStatic::Spanless => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_static);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
802pub(crate) enum ConstItemInteriorMutationsSuggestionStatic {
803 #[suggestion(
804 lint_suggestion_static,
805 code = "{before}static ",
806 style = "verbose",
807 applicability = "maybe-incorrect"
808 )]
809 Spanful {
810 #[primary_span]
811 const_: Span,
812 before: &'static str,
813 },
814 #[help(lint_suggestion_static)]
815 Spanless,
816}
817
818#[derive(const _: () =
{
impl<'__a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
InvalidReferenceCastingDiag<'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidReferenceCastingDiag::BorrowAsMut {
orig_cast: __binding_0,
ty_has_interior_mutability: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_reference_casting_borrow_as_mut);
diag.note(crate::fluent_generated::lint_invalid_reference_casting_note_book);
;
if let Some(__binding_0) = __binding_0 {
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
}
if __binding_1 {
diag.note(crate::fluent_generated::lint_invalid_reference_casting_note_ty_has_interior_mutability);
}
diag
}
InvalidReferenceCastingDiag::AssignToRef {
orig_cast: __binding_0,
ty_has_interior_mutability: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_reference_casting_assign_to_ref);
diag.note(crate::fluent_generated::lint_invalid_reference_casting_note_book);
;
if let Some(__binding_0) = __binding_0 {
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
}
if __binding_1 {
diag.note(crate::fluent_generated::lint_invalid_reference_casting_note_ty_has_interior_mutability);
}
diag
}
InvalidReferenceCastingDiag::BiggerLayout {
orig_cast: __binding_0,
alloc: __binding_1,
from_ty: __binding_2,
from_size: __binding_3,
to_ty: __binding_4,
to_size: __binding_5 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_reference_casting_bigger_layout);
diag.note(crate::fluent_generated::lint_layout);
;
diag.arg("from_ty", __binding_2);
diag.arg("from_size", __binding_3);
diag.arg("to_ty", __binding_4);
diag.arg("to_size", __binding_5);
if let Some(__binding_0) = __binding_0 {
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
}
diag.span_label(__binding_1,
crate::fluent_generated::lint_alloc);
diag
}
};
}
}
};LintDiagnostic)]
820pub(crate) enum InvalidReferenceCastingDiag<'tcx> {
821 #[diag(lint_invalid_reference_casting_borrow_as_mut)]
822 #[note(lint_invalid_reference_casting_note_book)]
823 BorrowAsMut {
824 #[label]
825 orig_cast: Option<Span>,
826 #[note(lint_invalid_reference_casting_note_ty_has_interior_mutability)]
827 ty_has_interior_mutability: bool,
828 },
829 #[diag(lint_invalid_reference_casting_assign_to_ref)]
830 #[note(lint_invalid_reference_casting_note_book)]
831 AssignToRef {
832 #[label]
833 orig_cast: Option<Span>,
834 #[note(lint_invalid_reference_casting_note_ty_has_interior_mutability)]
835 ty_has_interior_mutability: bool,
836 },
837 #[diag(lint_invalid_reference_casting_bigger_layout)]
838 #[note(lint_layout)]
839 BiggerLayout {
840 #[label]
841 orig_cast: Option<Span>,
842 #[label(lint_alloc)]
843 alloc: Span,
844 from_ty: Ty<'tcx>,
845 from_size: u64,
846 to_ty: Ty<'tcx>,
847 to_size: u64,
848 },
849}
850
851#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for MappingToUnit {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
MappingToUnit {
function_label: __binding_0,
argument_label: __binding_1,
map_label: __binding_2,
suggestion: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_map_unit_fn);
diag.note(crate::fluent_generated::_subdiag::note);
;
let __code_34 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("for_each"))
})].into_iter();
diag.span_label(__binding_0,
crate::fluent_generated::lint_function_label);
diag.span_label(__binding_1,
crate::fluent_generated::lint_argument_label);
diag.span_label(__binding_2,
crate::fluent_generated::lint_map_label);
diag.span_suggestions_with_style(__binding_3,
crate::fluent_generated::_subdiag::suggestion, __code_34,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag
}
};
}
}
};LintDiagnostic)]
853#[diag(lint_map_unit_fn)]
854#[note]
855pub(crate) struct MappingToUnit {
856 #[label(lint_function_label)]
857 pub function_label: Span,
858 #[label(lint_argument_label)]
859 pub argument_label: Span,
860 #[label(lint_map_label)]
861 pub map_label: Span,
862 #[suggestion(style = "verbose", code = "for_each", applicability = "maybe-incorrect")]
863 pub suggestion: Span,
864}
865
866#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
DefaultHashTypesDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DefaultHashTypesDiag {
preferred: __binding_0, used: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_default_hash_types);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("preferred", __binding_0);
diag.arg("used", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
868#[diag(lint_default_hash_types)]
869#[note]
870pub(crate) struct DefaultHashTypesDiag<'a> {
871 pub preferred: &'a str,
872 pub used: Symbol,
873}
874
875#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for QueryInstability
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
QueryInstability { query: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_query_instability);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("query", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
876#[diag(lint_query_instability)]
877#[note]
878pub(crate) struct QueryInstability {
879 pub query: Symbol,
880}
881
882#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for QueryUntracked {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
QueryUntracked { method: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_query_untracked);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("method", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
883#[diag(lint_query_untracked)]
884#[note]
885pub(crate) struct QueryUntracked {
886 pub method: Symbol,
887}
888
889#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
SpanUseEqCtxtDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SpanUseEqCtxtDiag => {
diag.primary_message(crate::fluent_generated::lint_span_use_eq_ctxt);
;
diag
}
};
}
}
};LintDiagnostic)]
890#[diag(lint_span_use_eq_ctxt)]
891pub(crate) struct SpanUseEqCtxtDiag;
892
893#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
SymbolInternStringLiteralDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SymbolInternStringLiteralDiag => {
diag.primary_message(crate::fluent_generated::lint_symbol_intern_string_literal);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
};
}
}
};LintDiagnostic)]
894#[diag(lint_symbol_intern_string_literal)]
895#[help]
896pub(crate) struct SymbolInternStringLiteralDiag;
897
898#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for TykindKind {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TykindKind { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_tykind_kind);
;
let __code_35 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("ty"))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_35,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
899#[diag(lint_tykind_kind)]
900pub(crate) struct TykindKind {
901 #[suggestion(code = "ty", applicability = "maybe-incorrect")]
902 pub suggestion: Span,
903}
904
905#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for TykindDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TykindDiag => {
diag.primary_message(crate::fluent_generated::lint_tykind);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
};
}
}
};LintDiagnostic)]
906#[diag(lint_tykind)]
907#[help]
908pub(crate) struct TykindDiag;
909
910#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for TyQualified {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TyQualified { ty: __binding_0, suggestion: __binding_1 } =>
{
diag.primary_message(crate::fluent_generated::lint_ty_qualified);
;
let __code_36 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_0))
})].into_iter();
diag.arg("ty", __binding_0);
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_36,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
911#[diag(lint_ty_qualified)]
912pub(crate) struct TyQualified {
913 pub ty: String,
914 #[suggestion(code = "{ty}", applicability = "maybe-incorrect")]
915 pub suggestion: Span,
916}
917
918#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
TypeIrInherentUsage {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TypeIrInherentUsage => {
diag.primary_message(crate::fluent_generated::lint_type_ir_inherent_usage);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag
}
};
}
}
};LintDiagnostic)]
919#[diag(lint_type_ir_inherent_usage)]
920#[note]
921pub(crate) struct TypeIrInherentUsage;
922
923#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for TypeIrTraitUsage
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TypeIrTraitUsage => {
diag.primary_message(crate::fluent_generated::lint_type_ir_trait_usage);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag
}
};
}
}
};LintDiagnostic)]
924#[diag(lint_type_ir_trait_usage)]
925#[note]
926pub(crate) struct TypeIrTraitUsage;
927
928#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for TypeIrDirectUse
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TypeIrDirectUse => {
diag.primary_message(crate::fluent_generated::lint_type_ir_direct_use);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag
}
};
}
}
};LintDiagnostic)]
929#[diag(lint_type_ir_direct_use)]
930#[note]
931pub(crate) struct TypeIrDirectUse;
932
933#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
NonGlobImportTypeIrInherent {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NonGlobImportTypeIrInherent {
suggestion: __binding_0, snippet: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_non_glob_import_type_ir_inherent);
;
let __code_37 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.arg("snippet", __binding_1);
if let Some(__binding_0) = __binding_0 {
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_37,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
}
diag
}
};
}
}
};LintDiagnostic)]
934#[diag(lint_non_glob_import_type_ir_inherent)]
935pub(crate) struct NonGlobImportTypeIrInherent {
936 #[suggestion(code = "{snippet}", applicability = "maybe-incorrect")]
937 pub suggestion: Option<Span>,
938 pub snippet: &'static str,
939}
940
941#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for LintPassByHand {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
LintPassByHand => {
diag.primary_message(crate::fluent_generated::lint_lintpass_by_hand);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
};
}
}
};LintDiagnostic)]
942#[diag(lint_lintpass_by_hand)]
943#[help]
944pub(crate) struct LintPassByHand;
945
946#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
BadOptAccessDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BadOptAccessDiag { msg: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_bad_opt_access);
;
diag.arg("msg", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
947#[diag(lint_bad_opt_access)]
948pub(crate) struct BadOptAccessDiag<'a> {
949 pub msg: &'a str,
950}
951
952#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
ImplicitSysrootCrateImportDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ImplicitSysrootCrateImportDiag { name: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_implicit_sysroot_crate_import);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
953#[diag(lint_implicit_sysroot_crate_import)]
954#[help]
955pub(crate) struct ImplicitSysrootCrateImportDiag<'a> {
956 pub name: &'a str,
957}
958
959#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for NonBindingLet {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NonBindingLet::SyncLock { pat: __binding_0, sub: __binding_1
} => {
diag.primary_message(crate::fluent_generated::lint_non_binding_let_on_sync_lock);
;
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_1);
diag
}
NonBindingLet::DropType { sub: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_non_binding_let_on_drop_type);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
961pub(crate) enum NonBindingLet {
962 #[diag(lint_non_binding_let_on_sync_lock)]
963 SyncLock {
964 #[label]
965 pat: Span,
966 #[subdiagnostic]
967 sub: NonBindingLetSub,
968 },
969 #[diag(lint_non_binding_let_on_drop_type)]
970 DropType {
971 #[subdiagnostic]
972 sub: NonBindingLetSub,
973 },
974}
975
976pub(crate) struct NonBindingLetSub {
977 pub suggestion: Span,
978 pub drop_fn_start_end: Option<(Span, Span)>,
979 pub is_assign_desugar: bool,
980}
981
982impl Subdiagnostic for NonBindingLetSub {
983 fn add_to_diag<G: EmissionGuarantee>(self, diag: &mut Diag<'_, G>) {
984 let can_suggest_binding = self.drop_fn_start_end.is_some() || !self.is_assign_desugar;
985
986 if can_suggest_binding {
987 let prefix = if self.is_assign_desugar { "let " } else { "" };
988 diag.span_suggestion_verbose(
989 self.suggestion,
990 fluent::lint_non_binding_let_suggestion,
991 ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}_unused", prefix))
})format!("{prefix}_unused"),
992 Applicability::MachineApplicable,
993 );
994 } else {
995 diag.span_help(self.suggestion, fluent::lint_non_binding_let_suggestion);
996 }
997 if let Some(drop_fn_start_end) = self.drop_fn_start_end {
998 diag.multipart_suggestion(
999 fluent::lint_non_binding_let_multi_suggestion,
1000 <[_]>::into_vec(::alloc::boxed::box_new([(drop_fn_start_end.0,
"drop(".to_string()),
(drop_fn_start_end.1, ")".to_string())]))vec![
1001 (drop_fn_start_end.0, "drop(".to_string()),
1002 (drop_fn_start_end.1, ")".to_string()),
1003 ],
1004 Applicability::MachineApplicable,
1005 );
1006 } else {
1007 diag.help(fluent::lint_non_binding_let_multi_drop_fn);
1008 }
1009 }
1010}
1011
1012#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
OverruledAttributeLint<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
OverruledAttributeLint {
overruled: __binding_0,
lint_level: __binding_1,
lint_source: __binding_2,
sub: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_overruled_attribute);
;
diag.arg("lint_level", __binding_1);
diag.arg("lint_source", __binding_2);
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_3);
diag
}
};
}
}
};LintDiagnostic)]
1014#[diag(lint_overruled_attribute)]
1015pub(crate) struct OverruledAttributeLint<'a> {
1016 #[label]
1017 pub overruled: Span,
1018 pub lint_level: &'a str,
1019 pub lint_source: Symbol,
1020 #[subdiagnostic]
1021 pub sub: OverruledAttributeSub,
1022}
1023
1024#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
DeprecatedLintName<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DeprecatedLintName {
name: __binding_0,
suggestion: __binding_1,
replace: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_deprecated_lint_name);
;
let __code_38 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_2))
})].into_iter();
diag.arg("name", __binding_0);
diag.arg("replace", __binding_2);
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_38,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
1025#[diag(lint_deprecated_lint_name)]
1026pub(crate) struct DeprecatedLintName<'a> {
1027 pub name: String,
1028 #[suggestion(code = "{replace}", applicability = "machine-applicable")]
1029 pub suggestion: Span,
1030 pub replace: &'a str,
1031}
1032
1033#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
DeprecatedLintNameFromCommandLine<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DeprecatedLintNameFromCommandLine {
name: __binding_0,
replace: __binding_1,
requested_level: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_deprecated_lint_name);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("name", __binding_0);
diag.arg("replace", __binding_1);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
1034#[diag(lint_deprecated_lint_name)]
1035#[help]
1036pub(crate) struct DeprecatedLintNameFromCommandLine<'a> {
1037 pub name: String,
1038 pub replace: &'a str,
1039 #[subdiagnostic]
1040 pub requested_level: RequestedLevel<'a>,
1041}
1042
1043#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
RenamedLint<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RenamedLint {
name: __binding_0,
replace: __binding_1,
suggestion: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_renamed_lint);
;
diag.arg("name", __binding_0);
diag.arg("replace", __binding_1);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
1044#[diag(lint_renamed_lint)]
1045pub(crate) struct RenamedLint<'a> {
1046 pub name: &'a str,
1047 pub replace: &'a str,
1048 #[subdiagnostic]
1049 pub suggestion: RenamedLintSuggestion<'a>,
1050}
1051
1052#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for RenamedLintSuggestion<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
RenamedLintSuggestion::WithSpan {
suggestion: __binding_0, replace: __binding_1 } => {
let __code_39 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("replace", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_39, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
RenamedLintSuggestion::WithoutSpan { replace: __binding_0 }
=> {
diag.store_args();
diag.arg("replace", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_help);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1053pub(crate) enum RenamedLintSuggestion<'a> {
1054 #[suggestion(lint_suggestion, code = "{replace}", applicability = "machine-applicable")]
1055 WithSpan {
1056 #[primary_span]
1057 suggestion: Span,
1058 replace: &'a str,
1059 },
1060 #[help(lint_help)]
1061 WithoutSpan { replace: &'a str },
1062}
1063
1064#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
RenamedLintFromCommandLine<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RenamedLintFromCommandLine {
name: __binding_0,
replace: __binding_1,
suggestion: __binding_2,
requested_level: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_renamed_lint);
;
diag.arg("name", __binding_0);
diag.arg("replace", __binding_1);
diag.subdiagnostic(__binding_2);
diag.subdiagnostic(__binding_3);
diag
}
};
}
}
};LintDiagnostic)]
1065#[diag(lint_renamed_lint)]
1066pub(crate) struct RenamedLintFromCommandLine<'a> {
1067 pub name: &'a str,
1068 pub replace: &'a str,
1069 #[subdiagnostic]
1070 pub suggestion: RenamedLintSuggestion<'a>,
1071 #[subdiagnostic]
1072 pub requested_level: RequestedLevel<'a>,
1073}
1074
1075#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
RemovedLint<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RemovedLint { name: __binding_0, reason: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_removed_lint);
;
diag.arg("name", __binding_0);
diag.arg("reason", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
1076#[diag(lint_removed_lint)]
1077pub(crate) struct RemovedLint<'a> {
1078 pub name: &'a str,
1079 pub reason: &'a str,
1080}
1081
1082#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
RemovedLintFromCommandLine<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RemovedLintFromCommandLine {
name: __binding_0,
reason: __binding_1,
requested_level: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_removed_lint);
;
diag.arg("name", __binding_0);
diag.arg("reason", __binding_1);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
1083#[diag(lint_removed_lint)]
1084pub(crate) struct RemovedLintFromCommandLine<'a> {
1085 pub name: &'a str,
1086 pub reason: &'a str,
1087 #[subdiagnostic]
1088 pub requested_level: RequestedLevel<'a>,
1089}
1090
1091#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnknownLint {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnknownLint { name: __binding_0, suggestion: __binding_1 }
=> {
diag.primary_message(crate::fluent_generated::lint_unknown_lint);
;
diag.arg("name", __binding_0);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
diag
}
};
}
}
};LintDiagnostic)]
1092#[diag(lint_unknown_lint)]
1093pub(crate) struct UnknownLint {
1094 pub name: String,
1095 #[subdiagnostic]
1096 pub suggestion: Option<UnknownLintSuggestion>,
1097}
1098
1099#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnknownLintSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnknownLintSuggestion::WithSpan {
suggestion: __binding_0,
replace: __binding_1,
from_rustc: __binding_2 } => {
let __code_40 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("replace", __binding_1);
diag.arg("from_rustc", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_40, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
UnknownLintSuggestion::WithoutSpan {
replace: __binding_0, from_rustc: __binding_1 } => {
diag.store_args();
diag.arg("replace", __binding_0);
diag.arg("from_rustc", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_help);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1100pub(crate) enum UnknownLintSuggestion {
1101 #[suggestion(lint_suggestion, code = "{replace}", applicability = "maybe-incorrect")]
1102 WithSpan {
1103 #[primary_span]
1104 suggestion: Span,
1105 replace: Symbol,
1106 from_rustc: bool,
1107 },
1108 #[help(lint_help)]
1109 WithoutSpan { replace: Symbol, from_rustc: bool },
1110}
1111
1112#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UnknownLintFromCommandLine<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnknownLintFromCommandLine {
name: __binding_0,
suggestion: __binding_1,
requested_level: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_unknown_lint);
diag.code(E0602);
;
diag.arg("name", __binding_0);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
1113#[diag(lint_unknown_lint, code = E0602)]
1114pub(crate) struct UnknownLintFromCommandLine<'a> {
1115 pub name: String,
1116 #[subdiagnostic]
1117 pub suggestion: Option<UnknownLintSuggestion>,
1118 #[subdiagnostic]
1119 pub requested_level: RequestedLevel<'a>,
1120}
1121
1122#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
IgnoredUnlessCrateSpecified<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
IgnoredUnlessCrateSpecified {
level: __binding_0, name: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_ignored_unless_crate_specified);
;
diag.arg("level", __binding_0);
diag.arg("name", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
1123#[diag(lint_ignored_unless_crate_specified)]
1124pub(crate) struct IgnoredUnlessCrateSpecified<'a> {
1125 pub level: &'a str,
1126 pub name: Symbol,
1127}
1128
1129#[derive(const _: () =
{
impl<'__a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
DanglingPointersFromTemporaries<'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DanglingPointersFromTemporaries {
callee: __binding_0,
ty: __binding_1,
ptr_span: __binding_2,
temporary_span: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_dangling_pointers_from_temporaries);
diag.help(crate::fluent_generated::lint_help_bind);
diag.note(crate::fluent_generated::lint_note_safe);
diag.note(crate::fluent_generated::lint_note_return);
diag.note(crate::fluent_generated::lint_note_more_info);
;
diag.arg("callee", __binding_0);
diag.arg("ty", __binding_1);
diag.span_label(__binding_2,
crate::fluent_generated::lint_label_ptr);
diag.span_label(__binding_3,
crate::fluent_generated::lint_label_temporary);
diag
}
};
}
}
};LintDiagnostic)]
1131#[diag(lint_dangling_pointers_from_temporaries)]
1132#[help(lint_help_bind)]
1133#[note(lint_note_safe)]
1134#[note(lint_note_return)]
1135#[note(lint_note_more_info)]
1136pub(crate) struct DanglingPointersFromTemporaries<'tcx> {
1138 pub callee: Ident,
1139 pub ty: Ty<'tcx>,
1140 #[label(lint_label_ptr)]
1141 pub ptr_span: Span,
1142 #[label(lint_label_temporary)]
1143 pub temporary_span: Span,
1144}
1145
1146#[derive(const _: () =
{
impl<'__a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
DanglingPointersFromLocals<'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DanglingPointersFromLocals {
ret_ty: __binding_0,
ret_ty_span: __binding_1,
fn_kind: __binding_2,
local_var: __binding_3,
local_var_name: __binding_4,
local_var_ty: __binding_5,
created_at: __binding_6 } => {
diag.primary_message(crate::fluent_generated::lint_dangling_pointers_from_locals);
diag.note(crate::fluent_generated::lint_note_safe);
diag.note(crate::fluent_generated::lint_note_more_info);
;
diag.arg("ret_ty", __binding_0);
diag.arg("fn_kind", __binding_2);
diag.arg("local_var_name", __binding_4);
diag.arg("local_var_ty", __binding_5);
diag.span_label(__binding_1,
crate::fluent_generated::lint_ret_ty);
diag.span_label(__binding_3,
crate::fluent_generated::lint_local_var);
if let Some(__binding_6) = __binding_6 {
diag.span_label(__binding_6,
crate::fluent_generated::lint_created_at);
}
diag
}
};
}
}
};LintDiagnostic)]
1147#[diag(lint_dangling_pointers_from_locals)]
1148#[note(lint_note_safe)]
1149#[note(lint_note_more_info)]
1150pub(crate) struct DanglingPointersFromLocals<'tcx> {
1151 pub ret_ty: Ty<'tcx>,
1152 #[label(lint_ret_ty)]
1153 pub ret_ty_span: Span,
1154 pub fn_kind: &'static str,
1155 #[label(lint_local_var)]
1156 pub local_var: Span,
1157 pub local_var_name: Ident,
1158 pub local_var_ty: Ty<'tcx>,
1159 #[label(lint_created_at)]
1160 pub created_at: Option<Span>,
1161}
1162
1163#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
MultipleSupertraitUpcastable {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
MultipleSupertraitUpcastable { ident: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_multiple_supertrait_upcastable);
;
diag.arg("ident", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
1165#[diag(lint_multiple_supertrait_upcastable)]
1166pub(crate) struct MultipleSupertraitUpcastable {
1167 pub ident: Ident,
1168}
1169
1170#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
IdentifierNonAsciiChar {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
IdentifierNonAsciiChar => {
diag.primary_message(crate::fluent_generated::lint_identifier_non_ascii_char);
;
diag
}
};
}
}
};LintDiagnostic)]
1172#[diag(lint_identifier_non_ascii_char)]
1173pub(crate) struct IdentifierNonAsciiChar;
1174
1175#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
IdentifierUncommonCodepoints {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
IdentifierUncommonCodepoints {
codepoints: __binding_0,
codepoints_len: __binding_1,
identifier_type: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_identifier_uncommon_codepoints);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("codepoints", __binding_0);
diag.arg("codepoints_len", __binding_1);
diag.arg("identifier_type", __binding_2);
diag
}
};
}
}
};LintDiagnostic)]
1176#[diag(lint_identifier_uncommon_codepoints)]
1177#[note]
1178pub(crate) struct IdentifierUncommonCodepoints {
1179 pub codepoints: Vec<char>,
1180 pub codepoints_len: usize,
1181 pub identifier_type: &'static str,
1182}
1183
1184#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
ConfusableIdentifierPair {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ConfusableIdentifierPair {
existing_sym: __binding_0,
sym: __binding_1,
label: __binding_2,
main_label: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_confusable_identifier_pair);
;
diag.arg("existing_sym", __binding_0);
diag.arg("sym", __binding_1);
diag.span_label(__binding_2,
crate::fluent_generated::lint_other_use);
diag.span_label(__binding_3,
crate::fluent_generated::lint_current_use);
diag
}
};
}
}
};LintDiagnostic)]
1185#[diag(lint_confusable_identifier_pair)]
1186pub(crate) struct ConfusableIdentifierPair {
1187 pub existing_sym: Symbol,
1188 pub sym: Symbol,
1189 #[label(lint_other_use)]
1190 pub label: Span,
1191 #[label(lint_current_use)]
1192 pub main_label: Span,
1193}
1194
1195#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
MixedScriptConfusables {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
MixedScriptConfusables {
set: __binding_0, includes: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_mixed_script_confusables);
diag.note(crate::fluent_generated::lint_includes_note);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("set", __binding_0);
diag.arg("includes", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
1196#[diag(lint_mixed_script_confusables)]
1197#[note(lint_includes_note)]
1198#[note]
1199pub(crate) struct MixedScriptConfusables {
1200 pub set: String,
1201 pub includes: String,
1202}
1203
1204pub(crate) struct NonFmtPanicUnused {
1206 pub count: usize,
1207 pub suggestion: Option<Span>,
1208}
1209
1210impl<'a> LintDiagnostic<'a, ()> for NonFmtPanicUnused {
1212 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
1213 diag.primary_message(fluent::lint_non_fmt_panic_unused);
1214 diag.arg("count", self.count);
1215 diag.note(fluent::lint_note);
1216 if let Some(span) = self.suggestion {
1217 diag.span_suggestion(
1218 span.shrink_to_hi(),
1219 fluent::lint_add_args_suggestion,
1220 ", ...",
1221 Applicability::HasPlaceholders,
1222 );
1223 diag.span_suggestion(
1224 span.shrink_to_lo(),
1225 fluent::lint_add_fmt_suggestion,
1226 "\"{}\", ",
1227 Applicability::MachineApplicable,
1228 );
1229 }
1230 }
1231}
1232
1233#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
NonFmtPanicBraces {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NonFmtPanicBraces {
count: __binding_0, suggestion: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_non_fmt_panic_braces);
diag.note(crate::fluent_generated::_subdiag::note);
;
let __code_41 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("\"{{}}\", "))
})].into_iter();
diag.arg("count", __binding_0);
if let Some(__binding_1) = __binding_1 {
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_41,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
}
diag
}
};
}
}
};LintDiagnostic)]
1234#[diag(lint_non_fmt_panic_braces)]
1235#[note]
1236pub(crate) struct NonFmtPanicBraces {
1237 pub count: usize,
1238 #[suggestion(code = "\"{{}}\", ", applicability = "machine-applicable")]
1239 pub suggestion: Option<Span>,
1240}
1241
1242#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
NonCamelCaseType<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NonCamelCaseType {
sort: __binding_0, name: __binding_1, sub: __binding_2 } =>
{
diag.primary_message(crate::fluent_generated::lint_non_camel_case_type);
;
diag.arg("sort", __binding_0);
diag.arg("name", __binding_1);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
1244#[diag(lint_non_camel_case_type)]
1245pub(crate) struct NonCamelCaseType<'a> {
1246 pub sort: &'a str,
1247 pub name: &'a str,
1248 #[subdiagnostic]
1249 pub sub: NonCamelCaseTypeSub,
1250}
1251
1252#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for NonCamelCaseTypeSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
NonCamelCaseTypeSub::Label { span: __binding_0 } => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
NonCamelCaseTypeSub::Suggestion {
span: __binding_0, replace: __binding_1 } => {
let __code_42 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("replace", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_42, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1253pub(crate) enum NonCamelCaseTypeSub {
1254 #[label(lint_label)]
1255 Label {
1256 #[primary_span]
1257 span: Span,
1258 },
1259 #[suggestion(lint_suggestion, code = "{replace}", applicability = "maybe-incorrect")]
1260 Suggestion {
1261 #[primary_span]
1262 span: Span,
1263 replace: String,
1264 },
1265}
1266
1267#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
NonSnakeCaseDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NonSnakeCaseDiag {
sort: __binding_0,
name: __binding_1,
sc: __binding_2,
sub: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_non_snake_case);
;
diag.arg("sort", __binding_0);
diag.arg("name", __binding_1);
diag.arg("sc", __binding_2);
diag.subdiagnostic(__binding_3);
diag
}
};
}
}
};LintDiagnostic)]
1268#[diag(lint_non_snake_case)]
1269pub(crate) struct NonSnakeCaseDiag<'a> {
1270 pub sort: &'a str,
1271 pub name: &'a str,
1272 pub sc: String,
1273 #[subdiagnostic]
1274 pub sub: NonSnakeCaseDiagSub,
1275}
1276
1277pub(crate) enum NonSnakeCaseDiagSub {
1278 Label { span: Span },
1279 Help,
1280 RenameOrConvertSuggestion { span: Span, suggestion: Ident },
1281 ConvertSuggestion { span: Span, suggestion: String },
1282 SuggestionAndNote { span: Span },
1283}
1284
1285impl Subdiagnostic for NonSnakeCaseDiagSub {
1286 fn add_to_diag<G: EmissionGuarantee>(self, diag: &mut Diag<'_, G>) {
1287 match self {
1288 NonSnakeCaseDiagSub::Label { span } => {
1289 diag.span_label(span, fluent::lint_label);
1290 }
1291 NonSnakeCaseDiagSub::Help => {
1292 diag.help(fluent::lint_help);
1293 }
1294 NonSnakeCaseDiagSub::ConvertSuggestion { span, suggestion } => {
1295 diag.span_suggestion(
1296 span,
1297 fluent::lint_convert_suggestion,
1298 suggestion,
1299 Applicability::MaybeIncorrect,
1300 );
1301 }
1302 NonSnakeCaseDiagSub::RenameOrConvertSuggestion { span, suggestion } => {
1303 diag.span_suggestion(
1304 span,
1305 fluent::lint_rename_or_convert_suggestion,
1306 suggestion,
1307 Applicability::MaybeIncorrect,
1308 );
1309 }
1310 NonSnakeCaseDiagSub::SuggestionAndNote { span } => {
1311 diag.note(fluent::lint_cannot_convert_note);
1312 diag.span_suggestion(
1313 span,
1314 fluent::lint_rename_suggestion,
1315 "",
1316 Applicability::MaybeIncorrect,
1317 );
1318 }
1319 }
1320 }
1321}
1322
1323#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
NonUpperCaseGlobal<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NonUpperCaseGlobal {
sort: __binding_0,
name: __binding_1,
sub: __binding_2,
usages: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_non_upper_case_global);
;
diag.arg("sort", __binding_0);
diag.arg("name", __binding_1);
diag.subdiagnostic(__binding_2);
for __binding_3 in __binding_3 {
diag.subdiagnostic(__binding_3);
}
diag
}
};
}
}
};LintDiagnostic)]
1324#[diag(lint_non_upper_case_global)]
1325pub(crate) struct NonUpperCaseGlobal<'a> {
1326 pub sort: &'a str,
1327 pub name: &'a str,
1328 #[subdiagnostic]
1329 pub sub: NonUpperCaseGlobalSub,
1330 #[subdiagnostic]
1331 pub usages: Vec<NonUpperCaseGlobalSubTool>,
1332}
1333
1334#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for NonUpperCaseGlobalSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
NonUpperCaseGlobalSub::Label { span: __binding_0 } => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
NonUpperCaseGlobalSub::Suggestion {
span: __binding_0,
applicability: __binding_1,
replace: __binding_2 } => {
let __code_43 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_2))
})].into_iter();
diag.store_args();
diag.arg("replace", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_43, __binding_1,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1335pub(crate) enum NonUpperCaseGlobalSub {
1336 #[label(lint_label)]
1337 Label {
1338 #[primary_span]
1339 span: Span,
1340 },
1341 #[suggestion(lint_suggestion, code = "{replace}")]
1342 Suggestion {
1343 #[primary_span]
1344 span: Span,
1345 #[applicability]
1346 applicability: Applicability,
1347 replace: String,
1348 },
1349}
1350
1351#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for NonUpperCaseGlobalSubTool {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
NonUpperCaseGlobalSubTool {
span: __binding_0, replace: __binding_1 } => {
let __code_44 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("replace", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_44, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::CompletelyHidden);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1352#[suggestion(
1353 lint_suggestion,
1354 code = "{replace}",
1355 applicability = "machine-applicable",
1356 style = "tool-only"
1357)]
1358pub(crate) struct NonUpperCaseGlobalSubTool {
1359 #[primary_span]
1360 pub(crate) span: Span,
1361 pub(crate) replace: String,
1362}
1363
1364#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
NoopMethodCallDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NoopMethodCallDiag {
method: __binding_0,
orig_ty: __binding_1,
trait_: __binding_2,
label: __binding_3,
suggest_derive: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_noop_method_call);
diag.note(crate::fluent_generated::_subdiag::note);
;
let __code_45 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
let __code_46 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("#[derive(Clone)]\n"))
})].into_iter();
diag.arg("method", __binding_0);
diag.arg("orig_ty", __binding_1);
diag.arg("trait_", __binding_2);
diag.span_suggestions_with_style(__binding_3,
crate::fluent_generated::_subdiag::suggestion, __code_45,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
if let Some(__binding_4) = __binding_4 {
diag.span_suggestions_with_style(__binding_4,
crate::fluent_generated::lint_derive_suggestion, __code_46,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
}
diag
}
};
}
}
};LintDiagnostic)]
1366#[diag(lint_noop_method_call)]
1367#[note]
1368pub(crate) struct NoopMethodCallDiag<'a> {
1369 pub method: Ident,
1370 pub orig_ty: Ty<'a>,
1371 pub trait_: Symbol,
1372 #[suggestion(code = "", applicability = "machine-applicable")]
1373 pub label: Span,
1374 #[suggestion(
1375 lint_derive_suggestion,
1376 code = "#[derive(Clone)]\n",
1377 applicability = "maybe-incorrect"
1378 )]
1379 pub suggest_derive: Option<Span>,
1380}
1381
1382#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
SuspiciousDoubleRefDerefDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SuspiciousDoubleRefDerefDiag { ty: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_suspicious_double_ref_deref);
;
diag.arg("ty", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
1383#[diag(lint_suspicious_double_ref_deref)]
1384pub(crate) struct SuspiciousDoubleRefDerefDiag<'a> {
1385 pub ty: Ty<'a>,
1386}
1387
1388#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
SuspiciousDoubleRefCloneDiag<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SuspiciousDoubleRefCloneDiag { ty: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_suspicious_double_ref_clone);
;
diag.arg("ty", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
1389#[diag(lint_suspicious_double_ref_clone)]
1390pub(crate) struct SuspiciousDoubleRefCloneDiag<'a> {
1391 pub ty: Ty<'a>,
1392}
1393
1394pub(crate) enum NonLocalDefinitionsDiag {
1396 Impl {
1397 depth: u32,
1398 body_kind_descr: &'static str,
1399 body_name: String,
1400 cargo_update: Option<NonLocalDefinitionsCargoUpdateNote>,
1401 const_anon: Option<Option<Span>>,
1402 doctest: bool,
1403 macro_to_change: Option<(String, &'static str)>,
1404 },
1405 MacroRules {
1406 depth: u32,
1407 body_kind_descr: &'static str,
1408 body_name: String,
1409 doctest: bool,
1410 cargo_update: Option<NonLocalDefinitionsCargoUpdateNote>,
1411 },
1412}
1413
1414impl<'a> LintDiagnostic<'a, ()> for NonLocalDefinitionsDiag {
1415 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
1416 match self {
1417 NonLocalDefinitionsDiag::Impl {
1418 depth,
1419 body_kind_descr,
1420 body_name,
1421 cargo_update,
1422 const_anon,
1423 doctest,
1424 macro_to_change,
1425 } => {
1426 diag.primary_message(fluent::lint_non_local_definitions_impl);
1427 diag.arg("depth", depth);
1428 diag.arg("body_kind_descr", body_kind_descr);
1429 diag.arg("body_name", body_name);
1430
1431 if let Some((macro_to_change, macro_kind)) = macro_to_change {
1432 diag.arg("macro_to_change", macro_to_change);
1433 diag.arg("macro_kind", macro_kind);
1434 diag.note(fluent::lint_macro_to_change);
1435 }
1436 if let Some(cargo_update) = cargo_update {
1437 diag.subdiagnostic(cargo_update);
1438 }
1439
1440 diag.note(fluent::lint_non_local);
1441
1442 if doctest {
1443 diag.help(fluent::lint_doctest);
1444 }
1445
1446 if let Some(const_anon) = const_anon {
1447 diag.note(fluent::lint_exception);
1448 if let Some(const_anon) = const_anon {
1449 diag.span_suggestion(
1450 const_anon,
1451 fluent::lint_const_anon,
1452 "_",
1453 Applicability::MachineApplicable,
1454 );
1455 }
1456 }
1457 }
1458 NonLocalDefinitionsDiag::MacroRules {
1459 depth,
1460 body_kind_descr,
1461 body_name,
1462 doctest,
1463 cargo_update,
1464 } => {
1465 diag.primary_message(fluent::lint_non_local_definitions_macro_rules);
1466 diag.arg("depth", depth);
1467 diag.arg("body_kind_descr", body_kind_descr);
1468 diag.arg("body_name", body_name);
1469
1470 if doctest {
1471 diag.help(fluent::lint_help_doctest);
1472 } else {
1473 diag.help(fluent::lint_help);
1474 }
1475
1476 diag.note(fluent::lint_non_local);
1477
1478 if let Some(cargo_update) = cargo_update {
1479 diag.subdiagnostic(cargo_update);
1480 }
1481 }
1482 }
1483 }
1484}
1485
1486#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for
NonLocalDefinitionsCargoUpdateNote {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
NonLocalDefinitionsCargoUpdateNote {
macro_kind: __binding_0,
macro_name: __binding_1,
crate_name: __binding_2 } => {
diag.store_args();
diag.arg("macro_kind", __binding_0);
diag.arg("macro_name", __binding_1);
diag.arg("crate_name", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_non_local_definitions_cargo_update);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1487#[note(lint_non_local_definitions_cargo_update)]
1488pub(crate) struct NonLocalDefinitionsCargoUpdateNote {
1489 pub macro_kind: &'static str,
1490 pub macro_name: Symbol,
1491 pub crate_name: Symbol,
1492}
1493
1494#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AmbiguousNegativeLiteralsDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AmbiguousNegativeLiteralsDiag {
negative_literal: __binding_0, current_behavior: __binding_1
} => {
diag.primary_message(crate::fluent_generated::lint_ambiguous_negative_literals);
diag.note(crate::fluent_generated::lint_example);
;
diag.subdiagnostic(__binding_0);
diag.subdiagnostic(__binding_1);
diag
}
};
}
}
};LintDiagnostic)]
1496#[diag(lint_ambiguous_negative_literals)]
1497#[note(lint_example)]
1498pub(crate) struct AmbiguousNegativeLiteralsDiag {
1499 #[subdiagnostic]
1500 pub negative_literal: AmbiguousNegativeLiteralsNegativeLiteralSuggestion,
1501 #[subdiagnostic]
1502 pub current_behavior: AmbiguousNegativeLiteralsCurrentBehaviorSuggestion,
1503}
1504
1505#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for
AmbiguousNegativeLiteralsNegativeLiteralSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AmbiguousNegativeLiteralsNegativeLiteralSuggestion {
start_span: __binding_0, end_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_47 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("("))
});
let __code_48 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_47));
suggestions.push((__binding_1, __code_48));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_negative_literal);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1506#[multipart_suggestion(lint_negative_literal, applicability = "maybe-incorrect")]
1507pub(crate) struct AmbiguousNegativeLiteralsNegativeLiteralSuggestion {
1508 #[suggestion_part(code = "(")]
1509 pub start_span: Span,
1510 #[suggestion_part(code = ")")]
1511 pub end_span: Span,
1512}
1513
1514#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for
AmbiguousNegativeLiteralsCurrentBehaviorSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AmbiguousNegativeLiteralsCurrentBehaviorSuggestion {
start_span: __binding_0, end_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_49 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("("))
});
let __code_50 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_49));
suggestions.push((__binding_1, __code_50));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_current_behavior);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1515#[multipart_suggestion(lint_current_behavior, applicability = "maybe-incorrect")]
1516pub(crate) struct AmbiguousNegativeLiteralsCurrentBehaviorSuggestion {
1517 #[suggestion_part(code = "(")]
1518 pub start_span: Span,
1519 #[suggestion_part(code = ")")]
1520 pub end_span: Span,
1521}
1522
1523#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for PassByValueDiag
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
PassByValueDiag { ty: __binding_0, suggestion: __binding_1 }
=> {
diag.primary_message(crate::fluent_generated::lint_pass_by_value);
;
let __code_51 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_0))
})].into_iter();
diag.arg("ty", __binding_0);
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_51,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
1525#[diag(lint_pass_by_value)]
1526pub(crate) struct PassByValueDiag {
1527 pub ty: String,
1528 #[suggestion(code = "{ty}", applicability = "maybe-incorrect")]
1529 pub suggestion: Span,
1530}
1531
1532#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
RedundantSemicolonsDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RedundantSemicolonsDiag {
multiple: __binding_0, suggestion: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_redundant_semicolons);
;
diag.arg("multiple", __binding_0);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
diag
}
};
}
}
};LintDiagnostic)]
1534#[diag(lint_redundant_semicolons)]
1535pub(crate) struct RedundantSemicolonsDiag {
1536 pub multiple: bool,
1537 #[subdiagnostic]
1538 pub suggestion: Option<RedundantSemicolonsSuggestion>,
1539}
1540
1541#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for RedundantSemicolonsSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
RedundantSemicolonsSuggestion {
multiple_semicolons: __binding_0, span: __binding_1 } => {
let __code_52 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.store_args();
diag.arg("multiple_semicolons", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_redundant_semicolons_suggestion);
diag.span_suggestions_with_style(__binding_1, __message,
__code_52, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1542#[suggestion(lint_redundant_semicolons_suggestion, code = "", applicability = "maybe-incorrect")]
1543pub(crate) struct RedundantSemicolonsSuggestion {
1544 pub multiple_semicolons: bool,
1545 #[primary_span]
1546 pub span: Span,
1547}
1548
1549pub(crate) struct DropTraitConstraintsDiag<'a> {
1551 pub predicate: Clause<'a>,
1552 pub tcx: TyCtxt<'a>,
1553 pub def_id: DefId,
1554}
1555
1556impl<'a> LintDiagnostic<'a, ()> for DropTraitConstraintsDiag<'_> {
1558 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
1559 diag.primary_message(fluent::lint_drop_trait_constraints);
1560 diag.arg("predicate", self.predicate);
1561 diag.arg("needs_drop", self.tcx.def_path_str(self.def_id));
1562 }
1563}
1564
1565pub(crate) struct DropGlue<'a> {
1566 pub tcx: TyCtxt<'a>,
1567 pub def_id: DefId,
1568}
1569
1570impl<'a> LintDiagnostic<'a, ()> for DropGlue<'_> {
1572 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
1573 diag.primary_message(fluent::lint_drop_glue);
1574 diag.arg("needs_drop", self.tcx.def_path_str(self.def_id));
1575 }
1576}
1577
1578#[derive(const _: () =
{
impl<'__a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
IntegerToPtrTransmutes<'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
IntegerToPtrTransmutes { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_int_to_ptr_transmutes);
diag.note(crate::fluent_generated::_subdiag::note);
diag.note(crate::fluent_generated::lint_note_exposed_provenance);
diag.help(crate::fluent_generated::lint_suggestion_without_provenance_mut);
diag.help(crate::fluent_generated::lint_help_transmute);
diag.help(crate::fluent_generated::lint_help_exposed_provenance);
;
if let Some(__binding_0) = __binding_0 {
diag.subdiagnostic(__binding_0);
}
diag
}
};
}
}
};LintDiagnostic)]
1580#[diag(lint_int_to_ptr_transmutes)]
1581#[note]
1582#[note(lint_note_exposed_provenance)]
1583#[help(lint_suggestion_without_provenance_mut)]
1584#[help(lint_help_transmute)]
1585#[help(lint_help_exposed_provenance)]
1586pub(crate) struct IntegerToPtrTransmutes<'tcx> {
1587 #[subdiagnostic]
1588 pub suggestion: Option<IntegerToPtrTransmutesSuggestion<'tcx>>,
1589}
1590
1591#[derive(const _: () =
{
impl<'tcx> rustc_errors::Subdiagnostic for
IntegerToPtrTransmutesSuggestion<'tcx> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
IntegerToPtrTransmutesSuggestion::ToPtr {
dst: __binding_0,
suffix: __binding_1,
start_call: __binding_2 } => {
let mut suggestions = Vec::new();
let __code_53 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("std::ptr::with_exposed_provenance{1}::<{0}>(",
__binding_0, __binding_1))
});
suggestions.push((__binding_2, __code_53));
diag.store_args();
diag.arg("dst", __binding_0);
diag.arg("suffix", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_with_exposed_provenance);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
IntegerToPtrTransmutesSuggestion::ToRef {
dst: __binding_0,
suffix: __binding_1,
ref_mutbl: __binding_2,
start_call: __binding_3 } => {
let mut suggestions = Vec::new();
let __code_54 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("&{1}*std::ptr::with_exposed_provenance{2}::<{0}>(",
__binding_0, __binding_2, __binding_1))
});
suggestions.push((__binding_3, __code_54));
diag.store_args();
diag.arg("dst", __binding_0);
diag.arg("suffix", __binding_1);
diag.arg("ref_mutbl", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_with_exposed_provenance);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1592pub(crate) enum IntegerToPtrTransmutesSuggestion<'tcx> {
1593 #[multipart_suggestion(
1594 lint_suggestion_with_exposed_provenance,
1595 applicability = "machine-applicable",
1596 style = "verbose"
1597 )]
1598 ToPtr {
1599 dst: Ty<'tcx>,
1600 suffix: &'static str,
1601 #[suggestion_part(code = "std::ptr::with_exposed_provenance{suffix}::<{dst}>(")]
1602 start_call: Span,
1603 },
1604 #[multipart_suggestion(
1605 lint_suggestion_with_exposed_provenance,
1606 applicability = "machine-applicable",
1607 style = "verbose"
1608 )]
1609 ToRef {
1610 dst: Ty<'tcx>,
1611 suffix: &'static str,
1612 ref_mutbl: &'static str,
1613 #[suggestion_part(
1614 code = "&{ref_mutbl}*std::ptr::with_exposed_provenance{suffix}::<{dst}>("
1615 )]
1616 start_call: Span,
1617 },
1618}
1619
1620#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
RangeEndpointOutOfRange<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RangeEndpointOutOfRange { ty: __binding_0, sub: __binding_1
} => {
diag.primary_message(crate::fluent_generated::lint_range_endpoint_out_of_range);
;
diag.arg("ty", __binding_0);
diag.subdiagnostic(__binding_1);
diag
}
};
}
}
};LintDiagnostic)]
1622#[diag(lint_range_endpoint_out_of_range)]
1623pub(crate) struct RangeEndpointOutOfRange<'a> {
1624 pub ty: &'a str,
1625 #[subdiagnostic]
1626 pub sub: UseInclusiveRange<'a>,
1627}
1628
1629#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for UseInclusiveRange<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UseInclusiveRange::WithoutParen {
sugg: __binding_0,
start: __binding_1,
literal: __binding_2,
suffix: __binding_3 } => {
let __code_55 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}..={0}{2}",
__binding_2, __binding_1, __binding_3))
})].into_iter();
diag.store_args();
diag.arg("start", __binding_1);
diag.arg("literal", __binding_2);
diag.arg("suffix", __binding_3);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_range_use_inclusive_range);
diag.span_suggestions_with_style(__binding_0, __message,
__code_55, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
UseInclusiveRange::WithParen {
eq_sugg: __binding_0,
lit_sugg: __binding_1,
literal: __binding_2,
suffix: __binding_3 } => {
let mut suggestions = Vec::new();
let __code_56 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("="))
});
let __code_57 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}{1}", __binding_2,
__binding_3))
});
suggestions.push((__binding_0, __code_56));
suggestions.push((__binding_1, __code_57));
diag.store_args();
diag.arg("literal", __binding_2);
diag.arg("suffix", __binding_3);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_range_use_inclusive_range);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1630pub(crate) enum UseInclusiveRange<'a> {
1631 #[suggestion(
1632 lint_range_use_inclusive_range,
1633 code = "{start}..={literal}{suffix}",
1634 applicability = "machine-applicable"
1635 )]
1636 WithoutParen {
1637 #[primary_span]
1638 sugg: Span,
1639 start: String,
1640 literal: u128,
1641 suffix: &'a str,
1642 },
1643 #[multipart_suggestion(lint_range_use_inclusive_range, applicability = "machine-applicable")]
1644 WithParen {
1645 #[suggestion_part(code = "=")]
1646 eq_sugg: Span,
1647 #[suggestion_part(code = "{literal}{suffix}")]
1648 lit_sugg: Span,
1649 literal: u128,
1650 suffix: &'a str,
1651 },
1652}
1653
1654#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
OverflowingBinHex<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
OverflowingBinHex {
ty: __binding_0,
lit: __binding_1,
dec: __binding_2,
actually: __binding_3,
sign: __binding_4,
sub: __binding_5,
sign_bit_sub: __binding_6 } => {
diag.primary_message(crate::fluent_generated::lint_overflowing_bin_hex);
;
diag.arg("ty", __binding_0);
diag.arg("lit", __binding_1);
diag.arg("dec", __binding_2);
diag.arg("actually", __binding_3);
diag.subdiagnostic(__binding_4);
if let Some(__binding_5) = __binding_5 {
diag.subdiagnostic(__binding_5);
}
if let Some(__binding_6) = __binding_6 {
diag.subdiagnostic(__binding_6);
}
diag
}
};
}
}
};LintDiagnostic)]
1655#[diag(lint_overflowing_bin_hex)]
1656pub(crate) struct OverflowingBinHex<'a> {
1657 pub ty: &'a str,
1658 pub lit: String,
1659 pub dec: u128,
1660 pub actually: String,
1661 #[subdiagnostic]
1662 pub sign: OverflowingBinHexSign,
1663 #[subdiagnostic]
1664 pub sub: Option<OverflowingBinHexSub<'a>>,
1665 #[subdiagnostic]
1666 pub sign_bit_sub: Option<OverflowingBinHexSignBitSub<'a>>,
1667}
1668
1669pub(crate) enum OverflowingBinHexSign {
1670 Positive,
1671 Negative,
1672}
1673
1674impl Subdiagnostic for OverflowingBinHexSign {
1675 fn add_to_diag<G: EmissionGuarantee>(self, diag: &mut Diag<'_, G>) {
1676 match self {
1677 OverflowingBinHexSign::Positive => {
1678 diag.note(fluent::lint_positive_note);
1679 }
1680 OverflowingBinHexSign::Negative => {
1681 diag.note(fluent::lint_negative_note);
1682 diag.note(fluent::lint_negative_becomes_note);
1683 }
1684 }
1685 }
1686}
1687
1688#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for OverflowingBinHexSub<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
OverflowingBinHexSub::Suggestion {
span: __binding_0,
suggestion_ty: __binding_1,
sans_suffix: __binding_2 } => {
let __code_58 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}{1}", __binding_2,
__binding_1))
})].into_iter();
diag.store_args();
diag.arg("suggestion_ty", __binding_1);
diag.arg("sans_suffix", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_58, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
OverflowingBinHexSub::Help { suggestion_ty: __binding_0 } =>
{
diag.store_args();
diag.arg("suggestion_ty", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_help);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1689pub(crate) enum OverflowingBinHexSub<'a> {
1690 #[suggestion(
1691 lint_suggestion,
1692 code = "{sans_suffix}{suggestion_ty}",
1693 applicability = "machine-applicable"
1694 )]
1695 Suggestion {
1696 #[primary_span]
1697 span: Span,
1698 suggestion_ty: &'a str,
1699 sans_suffix: &'a str,
1700 },
1701 #[help(lint_help)]
1702 Help { suggestion_ty: &'a str },
1703}
1704
1705#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
OverflowingBinHexSignBitSub<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
OverflowingBinHexSignBitSub {
span: __binding_0,
lit_no_suffix: __binding_1,
negative_val: __binding_2,
uint_ty: __binding_3,
int_ty: __binding_4 } => {
let __code_59 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}{2} as {0}",
__binding_4, __binding_1, __binding_3))
})].into_iter();
diag.store_args();
diag.arg("lit_no_suffix", __binding_1);
diag.arg("negative_val", __binding_2);
diag.arg("uint_ty", __binding_3);
diag.arg("int_ty", __binding_4);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_sign_bit_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_59, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1706#[suggestion(
1707 lint_sign_bit_suggestion,
1708 code = "{lit_no_suffix}{uint_ty} as {int_ty}",
1709 applicability = "maybe-incorrect"
1710)]
1711pub(crate) struct OverflowingBinHexSignBitSub<'a> {
1712 #[primary_span]
1713 pub span: Span,
1714 pub lit_no_suffix: &'a str,
1715 pub negative_val: String,
1716 pub uint_ty: &'a str,
1717 pub int_ty: &'a str,
1718}
1719
1720#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
OverflowingInt<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
OverflowingInt {
ty: __binding_0,
lit: __binding_1,
min: __binding_2,
max: __binding_3,
help: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_overflowing_int);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("ty", __binding_0);
diag.arg("lit", __binding_1);
diag.arg("min", __binding_2);
diag.arg("max", __binding_3);
if let Some(__binding_4) = __binding_4 {
diag.subdiagnostic(__binding_4);
}
diag
}
};
}
}
};LintDiagnostic)]
1721#[diag(lint_overflowing_int)]
1722#[note]
1723pub(crate) struct OverflowingInt<'a> {
1724 pub ty: &'a str,
1725 pub lit: String,
1726 pub min: i128,
1727 pub max: u128,
1728 #[subdiagnostic]
1729 pub help: Option<OverflowingIntHelp<'a>>,
1730}
1731
1732#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for OverflowingIntHelp<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
OverflowingIntHelp { suggestion_ty: __binding_0 } => {
diag.store_args();
diag.arg("suggestion_ty", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_help);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1733#[help(lint_help)]
1734pub(crate) struct OverflowingIntHelp<'a> {
1735 pub suggestion_ty: &'a str,
1736}
1737
1738#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for OnlyCastu8ToChar
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
OnlyCastu8ToChar { span: __binding_0, literal: __binding_1 }
=> {
diag.primary_message(crate::fluent_generated::lint_only_cast_u8_to_char);
;
let __code_60 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("\'\\u{{{0:X}}}\'",
__binding_1))
})].into_iter();
diag.arg("literal", __binding_1);
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_60,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
1739#[diag(lint_only_cast_u8_to_char)]
1740pub(crate) struct OnlyCastu8ToChar {
1741 #[suggestion(code = "'\\u{{{literal:X}}}'", applicability = "machine-applicable")]
1742 pub span: Span,
1743 pub literal: u128,
1744}
1745
1746#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
OverflowingUInt<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
OverflowingUInt {
ty: __binding_0,
lit: __binding_1,
min: __binding_2,
max: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_overflowing_uint);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("ty", __binding_0);
diag.arg("lit", __binding_1);
diag.arg("min", __binding_2);
diag.arg("max", __binding_3);
diag
}
};
}
}
};LintDiagnostic)]
1747#[diag(lint_overflowing_uint)]
1748#[note]
1749pub(crate) struct OverflowingUInt<'a> {
1750 pub ty: &'a str,
1751 pub lit: String,
1752 pub min: u128,
1753 pub max: u128,
1754}
1755
1756#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
OverflowingLiteral<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
OverflowingLiteral { ty: __binding_0, lit: __binding_1 } =>
{
diag.primary_message(crate::fluent_generated::lint_overflowing_literal);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("ty", __binding_0);
diag.arg("lit", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
1757#[diag(lint_overflowing_literal)]
1758#[note]
1759pub(crate) struct OverflowingLiteral<'a> {
1760 pub ty: &'a str,
1761 pub lit: String,
1762}
1763
1764#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
SurrogateCharCast {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SurrogateCharCast { literal: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_surrogate_char_cast);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("literal", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
1765#[diag(lint_surrogate_char_cast)]
1766#[note]
1767pub(crate) struct SurrogateCharCast {
1768 pub literal: u128,
1769}
1770
1771#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for TooLargeCharCast
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
TooLargeCharCast { literal: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_too_large_char_cast);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("literal", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
1772#[diag(lint_too_large_char_cast)]
1773#[note]
1774pub(crate) struct TooLargeCharCast {
1775 pub literal: u128,
1776}
1777
1778#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UsesPowerAlignment {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UsesPowerAlignment => {
diag.primary_message(crate::fluent_generated::lint_uses_power_alignment);
;
diag
}
};
}
}
};LintDiagnostic)]
1779#[diag(lint_uses_power_alignment)]
1780pub(crate) struct UsesPowerAlignment;
1781
1782#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedComparisons {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedComparisons => {
diag.primary_message(crate::fluent_generated::lint_unused_comparisons);
;
diag
}
};
}
}
};LintDiagnostic)]
1783#[diag(lint_unused_comparisons)]
1784pub(crate) struct UnusedComparisons;
1785
1786#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
InvalidNanComparisons {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidNanComparisons::EqNe { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_nan_comparisons_eq_ne);
;
diag.subdiagnostic(__binding_0);
diag
}
InvalidNanComparisons::LtLeGtGe => {
diag.primary_message(crate::fluent_generated::lint_invalid_nan_comparisons_lt_le_gt_ge);
;
diag
}
};
}
}
};LintDiagnostic)]
1787pub(crate) enum InvalidNanComparisons {
1788 #[diag(lint_invalid_nan_comparisons_eq_ne)]
1789 EqNe {
1790 #[subdiagnostic]
1791 suggestion: InvalidNanComparisonsSuggestion,
1792 },
1793 #[diag(lint_invalid_nan_comparisons_lt_le_gt_ge)]
1794 LtLeGtGe,
1795}
1796
1797#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for InvalidNanComparisonsSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
InvalidNanComparisonsSuggestion::Spanful {
neg: __binding_0,
float: __binding_1,
nan_plus_binop: __binding_2 } => {
let mut suggestions = Vec::new();
let __code_61 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("!"))
});
let __code_62 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(".is_nan()"))
});
let __code_63 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
if let Some(__binding_0) = __binding_0 {
suggestions.push((__binding_0, __code_61));
}
suggestions.push((__binding_1, __code_62));
suggestions.push((__binding_2, __code_63));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
InvalidNanComparisonsSuggestion::Spanless => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1798pub(crate) enum InvalidNanComparisonsSuggestion {
1799 #[multipart_suggestion(
1800 lint_suggestion,
1801 style = "verbose",
1802 applicability = "machine-applicable"
1803 )]
1804 Spanful {
1805 #[suggestion_part(code = "!")]
1806 neg: Option<Span>,
1807 #[suggestion_part(code = ".is_nan()")]
1808 float: Span,
1809 #[suggestion_part(code = "")]
1810 nan_plus_binop: Span,
1811 },
1812 #[help(lint_suggestion)]
1813 Spanless,
1814}
1815
1816#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
AmbiguousWidePointerComparisons<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AmbiguousWidePointerComparisons::SpanfulEq {
addr_suggestion: __binding_0,
addr_metadata_suggestion: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_ambiguous_wide_pointer_comparisons);
;
diag.subdiagnostic(__binding_0);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
diag
}
AmbiguousWidePointerComparisons::SpanfulCmp {
cast_suggestion: __binding_0, expect_suggestion: __binding_1
} => {
diag.primary_message(crate::fluent_generated::lint_ambiguous_wide_pointer_comparisons);
;
diag.subdiagnostic(__binding_0);
diag.subdiagnostic(__binding_1);
diag
}
AmbiguousWidePointerComparisons::Spanless => {
diag.primary_message(crate::fluent_generated::lint_ambiguous_wide_pointer_comparisons);
diag.help(crate::fluent_generated::lint_addr_metadata_suggestion);
diag.help(crate::fluent_generated::lint_addr_suggestion);
;
diag
}
};
}
}
};LintDiagnostic)]
1817pub(crate) enum AmbiguousWidePointerComparisons<'a> {
1818 #[diag(lint_ambiguous_wide_pointer_comparisons)]
1819 SpanfulEq {
1820 #[subdiagnostic]
1821 addr_suggestion: AmbiguousWidePointerComparisonsAddrSuggestion<'a>,
1822 #[subdiagnostic]
1823 addr_metadata_suggestion: Option<AmbiguousWidePointerComparisonsAddrMetadataSuggestion<'a>>,
1824 },
1825 #[diag(lint_ambiguous_wide_pointer_comparisons)]
1826 SpanfulCmp {
1827 #[subdiagnostic]
1828 cast_suggestion: AmbiguousWidePointerComparisonsCastSuggestion<'a>,
1829 #[subdiagnostic]
1830 expect_suggestion: AmbiguousWidePointerComparisonsExpectSuggestion<'a>,
1831 },
1832 #[diag(lint_ambiguous_wide_pointer_comparisons)]
1833 #[help(lint_addr_metadata_suggestion)]
1834 #[help(lint_addr_suggestion)]
1835 Spanless,
1836}
1837
1838#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
AmbiguousWidePointerComparisonsAddrMetadataSuggestion<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AmbiguousWidePointerComparisonsAddrMetadataSuggestion {
ne: __binding_0,
deref_left: __binding_1,
deref_right: __binding_2,
l_modifiers: __binding_3,
r_modifiers: __binding_4,
left: __binding_5,
middle: __binding_6,
right: __binding_7 } => {
let mut suggestions = Vec::new();
let __code_64 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}std::ptr::eq({0}",
__binding_1, __binding_0))
});
let __code_65 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}, {0}", __binding_2,
__binding_3))
});
let __code_66 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0})", __binding_4))
});
suggestions.push((__binding_5, __code_64));
suggestions.push((__binding_6, __code_65));
suggestions.push((__binding_7, __code_66));
diag.store_args();
diag.arg("ne", __binding_0);
diag.arg("deref_left", __binding_1);
diag.arg("deref_right", __binding_2);
diag.arg("l_modifiers", __binding_3);
diag.arg("r_modifiers", __binding_4);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_addr_metadata_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1839#[multipart_suggestion(
1840 lint_addr_metadata_suggestion,
1841 style = "verbose",
1842 applicability = "maybe-incorrect"
1844)]
1845pub(crate) struct AmbiguousWidePointerComparisonsAddrMetadataSuggestion<'a> {
1846 pub ne: &'a str,
1847 pub deref_left: &'a str,
1848 pub deref_right: &'a str,
1849 pub l_modifiers: &'a str,
1850 pub r_modifiers: &'a str,
1851 #[suggestion_part(code = "{ne}std::ptr::eq({deref_left}")]
1852 pub left: Span,
1853 #[suggestion_part(code = "{l_modifiers}, {deref_right}")]
1854 pub middle: Span,
1855 #[suggestion_part(code = "{r_modifiers})")]
1856 pub right: Span,
1857}
1858
1859#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
AmbiguousWidePointerComparisonsAddrSuggestion<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AmbiguousWidePointerComparisonsAddrSuggestion {
ne: __binding_0,
deref_left: __binding_1,
deref_right: __binding_2,
l_modifiers: __binding_3,
r_modifiers: __binding_4,
left: __binding_5,
middle: __binding_6,
right: __binding_7 } => {
let mut suggestions = Vec::new();
let __code_67 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}std::ptr::addr_eq({0}",
__binding_1, __binding_0))
});
let __code_68 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}, {0}", __binding_2,
__binding_3))
});
let __code_69 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0})", __binding_4))
});
suggestions.push((__binding_5, __code_67));
suggestions.push((__binding_6, __code_68));
suggestions.push((__binding_7, __code_69));
diag.store_args();
diag.arg("ne", __binding_0);
diag.arg("deref_left", __binding_1);
diag.arg("deref_right", __binding_2);
diag.arg("l_modifiers", __binding_3);
diag.arg("r_modifiers", __binding_4);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_addr_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1860#[multipart_suggestion(
1861 lint_addr_suggestion,
1862 style = "verbose",
1863 applicability = "maybe-incorrect"
1865)]
1866pub(crate) struct AmbiguousWidePointerComparisonsAddrSuggestion<'a> {
1867 pub(crate) ne: &'a str,
1868 pub(crate) deref_left: &'a str,
1869 pub(crate) deref_right: &'a str,
1870 pub(crate) l_modifiers: &'a str,
1871 pub(crate) r_modifiers: &'a str,
1872 #[suggestion_part(code = "{ne}std::ptr::addr_eq({deref_left}")]
1873 pub(crate) left: Span,
1874 #[suggestion_part(code = "{l_modifiers}, {deref_right}")]
1875 pub(crate) middle: Span,
1876 #[suggestion_part(code = "{r_modifiers})")]
1877 pub(crate) right: Span,
1878}
1879
1880#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
AmbiguousWidePointerComparisonsCastSuggestion<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AmbiguousWidePointerComparisonsCastSuggestion {
deref_left: __binding_0,
deref_right: __binding_1,
paren_left: __binding_2,
paren_right: __binding_3,
l_modifiers: __binding_4,
r_modifiers: __binding_5,
left_before: __binding_6,
left_after: __binding_7,
right_before: __binding_8,
right_after: __binding_9 } => {
let mut suggestions = Vec::new();
let __code_70 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("({0}", __binding_0))
});
let __code_71 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}{1}.cast::<()>()",
__binding_4, __binding_2))
});
let __code_72 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("({0}", __binding_1))
});
let __code_73 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}{0}.cast::<()>()",
__binding_3, __binding_5))
});
if let Some(__binding_6) = __binding_6 {
suggestions.push((__binding_6, __code_70));
}
suggestions.push((__binding_7, __code_71));
if let Some(__binding_8) = __binding_8 {
suggestions.push((__binding_8, __code_72));
}
suggestions.push((__binding_9, __code_73));
diag.store_args();
diag.arg("deref_left", __binding_0);
diag.arg("deref_right", __binding_1);
diag.arg("paren_left", __binding_2);
diag.arg("paren_right", __binding_3);
diag.arg("l_modifiers", __binding_4);
diag.arg("r_modifiers", __binding_5);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_cast_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1881#[multipart_suggestion(
1882 lint_cast_suggestion,
1883 style = "verbose",
1884 applicability = "maybe-incorrect"
1886)]
1887pub(crate) struct AmbiguousWidePointerComparisonsCastSuggestion<'a> {
1888 pub(crate) deref_left: &'a str,
1889 pub(crate) deref_right: &'a str,
1890 pub(crate) paren_left: &'a str,
1891 pub(crate) paren_right: &'a str,
1892 pub(crate) l_modifiers: &'a str,
1893 pub(crate) r_modifiers: &'a str,
1894 #[suggestion_part(code = "({deref_left}")]
1895 pub(crate) left_before: Option<Span>,
1896 #[suggestion_part(code = "{l_modifiers}{paren_left}.cast::<()>()")]
1897 pub(crate) left_after: Span,
1898 #[suggestion_part(code = "({deref_right}")]
1899 pub(crate) right_before: Option<Span>,
1900 #[suggestion_part(code = "{r_modifiers}{paren_right}.cast::<()>()")]
1901 pub(crate) right_after: Span,
1902}
1903
1904#[derive(const _: () =
{
impl<'a> rustc_errors::Subdiagnostic for
AmbiguousWidePointerComparisonsExpectSuggestion<'a> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AmbiguousWidePointerComparisonsExpectSuggestion {
paren_left: __binding_0,
paren_right: __binding_1,
before: __binding_2,
after: __binding_3 } => {
let mut suggestions = Vec::new();
let __code_74 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{{ #[expect(ambiguous_wide_pointer_comparisons, reason = \"...\")] {0}",
__binding_0))
});
let __code_75 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0} }}", __binding_1))
});
suggestions.push((__binding_2, __code_74));
suggestions.push((__binding_3, __code_75));
diag.store_args();
diag.arg("paren_left", __binding_0);
diag.arg("paren_right", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_expect_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1905#[multipart_suggestion(
1906 lint_expect_suggestion,
1907 style = "verbose",
1908 applicability = "maybe-incorrect"
1910)]
1911pub(crate) struct AmbiguousWidePointerComparisonsExpectSuggestion<'a> {
1912 pub(crate) paren_left: &'a str,
1913 pub(crate) paren_right: &'a str,
1914 #[suggestion_part(
1916 code = r#"{{ #[expect(ambiguous_wide_pointer_comparisons, reason = "...")] {paren_left}"#
1917 )]
1918 pub(crate) before: Span,
1919 #[suggestion_part(code = "{paren_right} }}")]
1920 pub(crate) after: Span,
1921}
1922
1923#[derive(const _: () =
{
impl<'__a, 'a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
UnpredictableFunctionPointerComparisons<'a, 'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnpredictableFunctionPointerComparisons::Suggestion {
sugg: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_unpredictable_fn_pointer_comparisons);
diag.note(crate::fluent_generated::lint_note_duplicated_fn);
diag.note(crate::fluent_generated::lint_note_deduplicated_fn);
diag.note(crate::fluent_generated::lint_note_visit_fn_addr_eq);
;
diag.subdiagnostic(__binding_0);
diag
}
UnpredictableFunctionPointerComparisons::Warn => {
diag.primary_message(crate::fluent_generated::lint_unpredictable_fn_pointer_comparisons);
diag.note(crate::fluent_generated::lint_note_duplicated_fn);
diag.note(crate::fluent_generated::lint_note_deduplicated_fn);
diag.note(crate::fluent_generated::lint_note_visit_fn_addr_eq);
;
diag
}
};
}
}
};LintDiagnostic)]
1924pub(crate) enum UnpredictableFunctionPointerComparisons<'a, 'tcx> {
1925 #[diag(lint_unpredictable_fn_pointer_comparisons)]
1926 #[note(lint_note_duplicated_fn)]
1927 #[note(lint_note_deduplicated_fn)]
1928 #[note(lint_note_visit_fn_addr_eq)]
1929 Suggestion {
1930 #[subdiagnostic]
1931 sugg: UnpredictableFunctionPointerComparisonsSuggestion<'a, 'tcx>,
1932 },
1933 #[diag(lint_unpredictable_fn_pointer_comparisons)]
1934 #[note(lint_note_duplicated_fn)]
1935 #[note(lint_note_deduplicated_fn)]
1936 #[note(lint_note_visit_fn_addr_eq)]
1937 Warn,
1938}
1939
1940#[derive(const _: () =
{
impl<'a, 'tcx> rustc_errors::Subdiagnostic for
UnpredictableFunctionPointerComparisonsSuggestion<'a, 'tcx> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnpredictableFunctionPointerComparisonsSuggestion::FnAddrEq {
ne: __binding_0,
deref_left: __binding_1,
deref_right: __binding_2,
left: __binding_3,
middle: __binding_4,
right: __binding_5 } => {
let mut suggestions = Vec::new();
let __code_76 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}std::ptr::fn_addr_eq({0}",
__binding_1, __binding_0))
});
let __code_77 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(", {0}", __binding_2))
});
let __code_78 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_3, __code_76));
suggestions.push((__binding_4, __code_77));
suggestions.push((__binding_5, __code_78));
diag.store_args();
diag.arg("ne", __binding_0);
diag.arg("deref_left", __binding_1);
diag.arg("deref_right", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_fn_addr_eq_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
UnpredictableFunctionPointerComparisonsSuggestion::FnAddrEqWithCast {
ne: __binding_0,
deref_left: __binding_1,
deref_right: __binding_2,
fn_sig: __binding_3,
left: __binding_4,
middle: __binding_5,
right: __binding_6 } => {
let mut suggestions = Vec::new();
let __code_79 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{1}std::ptr::fn_addr_eq({0}",
__binding_1, __binding_0))
});
let __code_80 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(", {0}", __binding_2))
});
let __code_81 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" as {0})", __binding_3))
});
suggestions.push((__binding_4, __code_79));
suggestions.push((__binding_5, __code_80));
suggestions.push((__binding_6, __code_81));
diag.store_args();
diag.arg("ne", __binding_0);
diag.arg("deref_left", __binding_1);
diag.arg("deref_right", __binding_2);
diag.arg("fn_sig", __binding_3);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_fn_addr_eq_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
1941pub(crate) enum UnpredictableFunctionPointerComparisonsSuggestion<'a, 'tcx> {
1942 #[multipart_suggestion(
1943 lint_fn_addr_eq_suggestion,
1944 style = "verbose",
1945 applicability = "maybe-incorrect"
1946 )]
1947 FnAddrEq {
1948 ne: &'a str,
1949 deref_left: &'a str,
1950 deref_right: &'a str,
1951 #[suggestion_part(code = "{ne}std::ptr::fn_addr_eq({deref_left}")]
1952 left: Span,
1953 #[suggestion_part(code = ", {deref_right}")]
1954 middle: Span,
1955 #[suggestion_part(code = ")")]
1956 right: Span,
1957 },
1958 #[multipart_suggestion(
1959 lint_fn_addr_eq_suggestion,
1960 style = "verbose",
1961 applicability = "maybe-incorrect"
1962 )]
1963 FnAddrEqWithCast {
1964 ne: &'a str,
1965 deref_left: &'a str,
1966 deref_right: &'a str,
1967 fn_sig: rustc_middle::ty::PolyFnSig<'tcx>,
1968 #[suggestion_part(code = "{ne}std::ptr::fn_addr_eq({deref_left}")]
1969 left: Span,
1970 #[suggestion_part(code = ", {deref_right}")]
1971 middle: Span,
1972 #[suggestion_part(code = " as {fn_sig})")]
1973 right: Span,
1974 },
1975}
1976
1977pub(crate) struct ImproperCTypes<'a> {
1978 pub ty: Ty<'a>,
1979 pub desc: &'a str,
1980 pub label: Span,
1981 pub help: Option<DiagMessage>,
1982 pub note: DiagMessage,
1983 pub span_note: Option<Span>,
1984}
1985
1986impl<'a> LintDiagnostic<'a, ()> for ImproperCTypes<'_> {
1988 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
1989 diag.primary_message(fluent::lint_improper_ctypes);
1990 diag.arg("ty", self.ty);
1991 diag.arg("desc", self.desc);
1992 diag.span_label(self.label, fluent::lint_label);
1993 if let Some(help) = self.help {
1994 diag.help(help);
1995 }
1996 diag.note(self.note);
1997 if let Some(note) = self.span_note {
1998 diag.span_note(note, fluent::lint_note);
1999 }
2000 }
2001}
2002
2003#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
ImproperGpuKernelArg<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ImproperGpuKernelArg { ty: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_improper_gpu_kernel_arg);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("ty", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2004#[diag(lint_improper_gpu_kernel_arg)]
2005#[help]
2006pub(crate) struct ImproperGpuKernelArg<'a> {
2007 pub ty: Ty<'a>,
2008}
2009
2010#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
MissingGpuKernelExportName {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
MissingGpuKernelExportName => {
diag.primary_message(crate::fluent_generated::lint_missing_gpu_kernel_export_name);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag
}
};
}
}
};LintDiagnostic)]
2011#[diag(lint_missing_gpu_kernel_export_name)]
2012#[help]
2013#[note]
2014pub(crate) struct MissingGpuKernelExportName;
2015
2016#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
VariantSizeDifferencesDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
VariantSizeDifferencesDiag { largest: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_variant_size_differences);
;
diag.arg("largest", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2017#[diag(lint_variant_size_differences)]
2018pub(crate) struct VariantSizeDifferencesDiag {
2019 pub largest: u64,
2020}
2021
2022#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AtomicOrderingLoad {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AtomicOrderingLoad => {
diag.primary_message(crate::fluent_generated::lint_atomic_ordering_load);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
};
}
}
};LintDiagnostic)]
2023#[diag(lint_atomic_ordering_load)]
2024#[help]
2025pub(crate) struct AtomicOrderingLoad;
2026
2027#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AtomicOrderingStore {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AtomicOrderingStore => {
diag.primary_message(crate::fluent_generated::lint_atomic_ordering_store);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
};
}
}
};LintDiagnostic)]
2028#[diag(lint_atomic_ordering_store)]
2029#[help]
2030pub(crate) struct AtomicOrderingStore;
2031
2032#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AtomicOrderingFence {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AtomicOrderingFence => {
diag.primary_message(crate::fluent_generated::lint_atomic_ordering_fence);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag
}
};
}
}
};LintDiagnostic)]
2033#[diag(lint_atomic_ordering_fence)]
2034#[help]
2035pub(crate) struct AtomicOrderingFence;
2036
2037#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
InvalidAtomicOrderingDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidAtomicOrderingDiag {
method: __binding_0, fail_order_arg_span: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_atomic_ordering_invalid);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("method", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
2038#[diag(lint_atomic_ordering_invalid)]
2039#[help]
2040pub(crate) struct InvalidAtomicOrderingDiag {
2041 pub method: Symbol,
2042 #[label]
2043 pub fail_order_arg_span: Span,
2044}
2045
2046#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for UnusedOp<'a>
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedOp {
op: __binding_0, label: __binding_1, suggestion: __binding_2
} => {
diag.primary_message(crate::fluent_generated::lint_unused_op);
;
diag.arg("op", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag.subdiagnostic(__binding_2);
diag
}
};
}
}
};LintDiagnostic)]
2048#[diag(lint_unused_op)]
2049pub(crate) struct UnusedOp<'a> {
2050 pub op: &'a str,
2051 #[label]
2052 pub label: Span,
2053 #[subdiagnostic]
2054 pub suggestion: UnusedOpSuggestion,
2055}
2056
2057#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnusedOpSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnusedOpSuggestion::NormalExpr { span: __binding_0 } => {
let __code_82 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("let _ = "))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_82, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
UnusedOpSuggestion::BlockTailExpr {
before_span: __binding_0, after_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_83 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("let _ = "))
});
let __code_84 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(";"))
});
suggestions.push((__binding_0, __code_83));
suggestions.push((__binding_1, __code_84));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2058pub(crate) enum UnusedOpSuggestion {
2059 #[suggestion(
2060 lint_suggestion,
2061 style = "verbose",
2062 code = "let _ = ",
2063 applicability = "maybe-incorrect"
2064 )]
2065 NormalExpr {
2066 #[primary_span]
2067 span: Span,
2068 },
2069 #[multipart_suggestion(lint_suggestion, style = "verbose", applicability = "maybe-incorrect")]
2070 BlockTailExpr {
2071 #[suggestion_part(code = "let _ = ")]
2072 before_span: Span,
2073 #[suggestion_part(code = ";")]
2074 after_span: Span,
2075 },
2076}
2077
2078#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedResult<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedResult { ty: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_unused_result);
;
diag.arg("ty", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2079#[diag(lint_unused_result)]
2080pub(crate) struct UnusedResult<'a> {
2081 pub ty: Ty<'a>,
2082}
2083
2084#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedClosure<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedClosure {
count: __binding_0, pre: __binding_1, post: __binding_2 } =>
{
diag.primary_message(crate::fluent_generated::lint_unused_closure);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("count", __binding_0);
diag.arg("pre", __binding_1);
diag.arg("post", __binding_2);
diag
}
};
}
}
};LintDiagnostic)]
2087#[diag(lint_unused_closure)]
2088#[note]
2089pub(crate) struct UnusedClosure<'a> {
2090 pub count: usize,
2091 pub pre: &'a str,
2092 pub post: &'a str,
2093}
2094
2095#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedCoroutine<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedCoroutine {
count: __binding_0, pre: __binding_1, post: __binding_2 } =>
{
diag.primary_message(crate::fluent_generated::lint_unused_coroutine);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("count", __binding_0);
diag.arg("pre", __binding_1);
diag.arg("post", __binding_2);
diag
}
};
}
}
};LintDiagnostic)]
2098#[diag(lint_unused_coroutine)]
2099#[note]
2100pub(crate) struct UnusedCoroutine<'a> {
2101 pub count: usize,
2102 pub pre: &'a str,
2103 pub post: &'a str,
2104}
2105
2106pub(crate) struct UnusedDef<'a, 'b> {
2109 pub pre: &'a str,
2110 pub post: &'a str,
2111 pub cx: &'a LateContext<'b>,
2112 pub def_id: DefId,
2113 pub note: Option<Symbol>,
2114 pub suggestion: Option<UnusedDefSuggestion>,
2115}
2116
2117#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnusedDefSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnusedDefSuggestion::NormalExpr { span: __binding_0 } => {
let __code_85 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("let _ = "))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_85, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
UnusedDefSuggestion::BlockTailExpr {
before_span: __binding_0, after_span: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_86 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("let _ = "))
});
let __code_87 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(";"))
});
suggestions.push((__binding_0, __code_86));
suggestions.push((__binding_1, __code_87));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2118
2119pub(crate) enum UnusedDefSuggestion {
2120 #[suggestion(
2121 lint_suggestion,
2122 style = "verbose",
2123 code = "let _ = ",
2124 applicability = "maybe-incorrect"
2125 )]
2126 NormalExpr {
2127 #[primary_span]
2128 span: Span,
2129 },
2130 #[multipart_suggestion(lint_suggestion, style = "verbose", applicability = "maybe-incorrect")]
2131 BlockTailExpr {
2132 #[suggestion_part(code = "let _ = ")]
2133 before_span: Span,
2134 #[suggestion_part(code = ";")]
2135 after_span: Span,
2136 },
2137}
2138
2139impl<'a> LintDiagnostic<'a, ()> for UnusedDef<'_, '_> {
2141 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
2142 diag.primary_message(fluent::lint_unused_def);
2143 diag.arg("pre", self.pre);
2144 diag.arg("post", self.post);
2145 diag.arg("def", self.cx.tcx.def_path_str(self.def_id));
2146 if let Some(note) = self.note {
2148 diag.note(note.to_string());
2149 }
2150 if let Some(sugg) = self.suggestion {
2151 diag.subdiagnostic(sugg);
2152 }
2153 }
2154}
2155
2156#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
PathStatementDrop {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
PathStatementDrop { sub: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_path_statement_drop);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2157#[diag(lint_path_statement_drop)]
2158pub(crate) struct PathStatementDrop {
2159 #[subdiagnostic]
2160 pub sub: PathStatementDropSub,
2161}
2162
2163#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for PathStatementDropSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
PathStatementDropSub::Suggestion {
span: __binding_0, snippet: __binding_1 } => {
let __code_88 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("drop({0});",
__binding_1))
})].into_iter();
diag.store_args();
diag.arg("snippet", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_88, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
PathStatementDropSub::Help { span: __binding_0 } => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_help);
diag.span_help(__binding_0, __message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2164pub(crate) enum PathStatementDropSub {
2165 #[suggestion(lint_suggestion, code = "drop({snippet});", applicability = "machine-applicable")]
2166 Suggestion {
2167 #[primary_span]
2168 span: Span,
2169 snippet: String,
2170 },
2171 #[help(lint_help)]
2172 Help {
2173 #[primary_span]
2174 span: Span,
2175 },
2176}
2177
2178#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
PathStatementNoEffect {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
PathStatementNoEffect => {
diag.primary_message(crate::fluent_generated::lint_path_statement_no_effect);
;
diag
}
};
}
}
};LintDiagnostic)]
2179#[diag(lint_path_statement_no_effect)]
2180pub(crate) struct PathStatementNoEffect;
2181
2182#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedDelim<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedDelim {
delim: __binding_0,
item: __binding_1,
suggestion: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_unused_delim);
;
diag.arg("delim", __binding_0);
diag.arg("item", __binding_1);
if let Some(__binding_2) = __binding_2 {
diag.subdiagnostic(__binding_2);
}
diag
}
};
}
}
};LintDiagnostic)]
2183#[diag(lint_unused_delim)]
2184pub(crate) struct UnusedDelim<'a> {
2185 pub delim: &'static str,
2186 pub item: &'a str,
2187 #[subdiagnostic]
2188 pub suggestion: Option<UnusedDelimSuggestion>,
2189}
2190
2191#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnusedDelimSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnusedDelimSuggestion {
start_span: __binding_0,
start_replace: __binding_1,
end_span: __binding_2,
end_replace: __binding_3 } => {
let mut suggestions = Vec::new();
let __code_89 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
});
let __code_90 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_3))
});
suggestions.push((__binding_0, __code_89));
suggestions.push((__binding_2, __code_90));
diag.store_args();
diag.arg("start_replace", __binding_1);
diag.arg("end_replace", __binding_3);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2192#[multipart_suggestion(lint_suggestion, applicability = "machine-applicable")]
2193pub(crate) struct UnusedDelimSuggestion {
2194 #[suggestion_part(code = "{start_replace}")]
2195 pub start_span: Span,
2196 pub start_replace: &'static str,
2197 #[suggestion_part(code = "{end_replace}")]
2198 pub end_span: Span,
2199 pub end_replace: &'static str,
2200}
2201
2202#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedImportBracesDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedImportBracesDiag { node: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_unused_import_braces);
;
diag.arg("node", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2203#[diag(lint_unused_import_braces)]
2204pub(crate) struct UnusedImportBracesDiag {
2205 pub node: Symbol,
2206}
2207
2208#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedAllocationDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedAllocationDiag => {
diag.primary_message(crate::fluent_generated::lint_unused_allocation);
;
diag
}
};
}
}
};LintDiagnostic)]
2209#[diag(lint_unused_allocation)]
2210pub(crate) struct UnusedAllocationDiag;
2211
2212#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedAllocationMutDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedAllocationMutDiag => {
diag.primary_message(crate::fluent_generated::lint_unused_allocation_mut);
;
diag
}
};
}
}
};LintDiagnostic)]
2213#[diag(lint_unused_allocation_mut)]
2214pub(crate) struct UnusedAllocationMutDiag;
2215
2216pub(crate) struct AsyncFnInTraitDiag {
2217 pub sugg: Option<Vec<(Span, String)>>,
2218}
2219
2220impl<'a> LintDiagnostic<'a, ()> for AsyncFnInTraitDiag {
2221 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, ()>) {
2222 diag.primary_message(fluent::lint_async_fn_in_trait);
2223 diag.note(fluent::lint_note);
2224 if let Some(sugg) = self.sugg {
2225 diag.multipart_suggestion(fluent::lint_suggestion, sugg, Applicability::MaybeIncorrect);
2226 }
2227 }
2228}
2229
2230#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnitBindingsDiag
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnitBindingsDiag { label: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_unit_bindings);
;
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
2231#[diag(lint_unit_bindings)]
2232pub(crate) struct UnitBindingsDiag {
2233 #[label]
2234 pub label: Span,
2235}
2236
2237#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for InvalidAsmLabel
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidAsmLabel::Named { missing_precise_span: __binding_0 }
=> {
diag.primary_message(crate::fluent_generated::lint_invalid_asm_label_named);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::_subdiag::note);
;
if __binding_0 {
diag.note(crate::fluent_generated::lint_invalid_asm_label_no_span);
}
diag
}
InvalidAsmLabel::FormatArg {
missing_precise_span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_asm_label_format_arg);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::lint_note1);
diag.note(crate::fluent_generated::lint_note2);
;
if __binding_0 {
diag.note(crate::fluent_generated::lint_invalid_asm_label_no_span);
}
diag
}
InvalidAsmLabel::Binary {
missing_precise_span: __binding_0, span: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_asm_label_binary);
diag.help(crate::fluent_generated::_subdiag::help);
diag.note(crate::fluent_generated::lint_note1);
diag.note(crate::fluent_generated::lint_note2);
;
if __binding_0 {
diag.note(crate::fluent_generated::lint_invalid_asm_label_no_span);
}
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
2238pub(crate) enum InvalidAsmLabel {
2239 #[diag(lint_invalid_asm_label_named)]
2240 #[help]
2241 #[note]
2242 Named {
2243 #[note(lint_invalid_asm_label_no_span)]
2244 missing_precise_span: bool,
2245 },
2246 #[diag(lint_invalid_asm_label_format_arg)]
2247 #[help]
2248 #[note(lint_note1)]
2249 #[note(lint_note2)]
2250 FormatArg {
2251 #[note(lint_invalid_asm_label_no_span)]
2252 missing_precise_span: bool,
2253 },
2254 #[diag(lint_invalid_asm_label_binary)]
2255 #[help]
2256 #[note(lint_note1)]
2257 #[note(lint_note2)]
2258 Binary {
2259 #[note(lint_invalid_asm_label_no_span)]
2260 missing_precise_span: bool,
2261 #[label]
2263 span: Span,
2264 },
2265}
2266
2267#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnexpectedCfgCargoHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnexpectedCfgCargoHelp::LintCfg {
cargo_toml_lint_cfg: __binding_0 } => {
diag.store_args();
diag.arg("cargo_toml_lint_cfg", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_add_cargo_feature);
diag.help(__message);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_add_cargo_toml_lint_cfg);
diag.help(__message);
diag.restore_args();
}
UnexpectedCfgCargoHelp::LintCfgAndBuildRs {
cargo_toml_lint_cfg: __binding_0,
build_rs_println: __binding_1 } => {
diag.store_args();
diag.arg("cargo_toml_lint_cfg", __binding_0);
diag.arg("build_rs_println", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_add_cargo_feature);
diag.help(__message);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_add_cargo_toml_lint_cfg);
diag.help(__message);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_add_build_rs_println);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2268pub(crate) enum UnexpectedCfgCargoHelp {
2269 #[help(lint_unexpected_cfg_add_cargo_feature)]
2270 #[help(lint_unexpected_cfg_add_cargo_toml_lint_cfg)]
2271 LintCfg { cargo_toml_lint_cfg: String },
2272 #[help(lint_unexpected_cfg_add_cargo_feature)]
2273 #[help(lint_unexpected_cfg_add_cargo_toml_lint_cfg)]
2274 #[help(lint_unexpected_cfg_add_build_rs_println)]
2275 LintCfgAndBuildRs { cargo_toml_lint_cfg: String, build_rs_println: String },
2276}
2277
2278impl UnexpectedCfgCargoHelp {
2279 fn cargo_toml_lint_cfg(unescaped: &str) -> String {
2280 ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("\n [lints.rust]\n unexpected_cfgs = {{ level = \"warn\", check-cfg = [\'{0}\'] }}",
unescaped))
})format!(
2281 "\n [lints.rust]\n unexpected_cfgs = {{ level = \"warn\", check-cfg = ['{unescaped}'] }}"
2282 )
2283 }
2284
2285 pub(crate) fn lint_cfg(unescaped: &str) -> Self {
2286 UnexpectedCfgCargoHelp::LintCfg {
2287 cargo_toml_lint_cfg: Self::cargo_toml_lint_cfg(unescaped),
2288 }
2289 }
2290
2291 pub(crate) fn lint_cfg_and_build_rs(unescaped: &str, escaped: &str) -> Self {
2292 UnexpectedCfgCargoHelp::LintCfgAndBuildRs {
2293 cargo_toml_lint_cfg: Self::cargo_toml_lint_cfg(unescaped),
2294 build_rs_println: ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("println!(\"cargo::rustc-check-cfg={0}\");",
escaped))
})format!("println!(\"cargo::rustc-check-cfg={escaped}\");"),
2295 }
2296 }
2297}
2298
2299#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnexpectedCfgRustcHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnexpectedCfgRustcHelp { cmdline_arg: __binding_0 } => {
diag.store_args();
diag.arg("cmdline_arg", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_add_cmdline_arg);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2300#[help(lint_unexpected_cfg_add_cmdline_arg)]
2301pub(crate) struct UnexpectedCfgRustcHelp {
2302 pub cmdline_arg: String,
2303}
2304
2305impl UnexpectedCfgRustcHelp {
2306 pub(crate) fn new(unescaped: &str) -> Self {
2307 Self { cmdline_arg: ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("--check-cfg={0}", unescaped))
})format!("--check-cfg={unescaped}") }
2308 }
2309}
2310
2311#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnexpectedCfgRustcMacroHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnexpectedCfgRustcMacroHelp {
macro_kind: __binding_0, macro_name: __binding_1 } => {
diag.store_args();
diag.arg("macro_kind", __binding_0);
diag.arg("macro_name", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_from_external_macro_origin);
diag.note(__message);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_from_external_macro_refer);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2312#[note(lint_unexpected_cfg_from_external_macro_origin)]
2313#[help(lint_unexpected_cfg_from_external_macro_refer)]
2314pub(crate) struct UnexpectedCfgRustcMacroHelp {
2315 pub macro_kind: &'static str,
2316 pub macro_name: Symbol,
2317}
2318
2319#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnexpectedCfgCargoMacroHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnexpectedCfgCargoMacroHelp {
macro_kind: __binding_0,
macro_name: __binding_1,
crate_name: __binding_2 } => {
diag.store_args();
diag.arg("macro_kind", __binding_0);
diag.arg("macro_name", __binding_1);
diag.arg("crate_name", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_from_external_macro_origin);
diag.note(__message);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_from_external_macro_refer);
diag.help(__message);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_cargo_update);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2320#[note(lint_unexpected_cfg_from_external_macro_origin)]
2321#[help(lint_unexpected_cfg_from_external_macro_refer)]
2322#[help(lint_unexpected_cfg_cargo_update)]
2323pub(crate) struct UnexpectedCfgCargoMacroHelp {
2324 pub macro_kind: &'static str,
2325 pub macro_name: Symbol,
2326 pub crate_name: Symbol,
2327}
2328
2329#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnexpectedCfgName {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnexpectedCfgName {
code_sugg: __binding_0,
invocation_help: __binding_1,
name: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_unexpected_cfg_name);
;
diag.arg("name", __binding_2);
diag.subdiagnostic(__binding_0);
diag.subdiagnostic(__binding_1);
diag
}
};
}
}
};LintDiagnostic)]
2330#[diag(lint_unexpected_cfg_name)]
2331pub(crate) struct UnexpectedCfgName {
2332 #[subdiagnostic]
2333 pub code_sugg: unexpected_cfg_name::CodeSuggestion,
2334 #[subdiagnostic]
2335 pub invocation_help: unexpected_cfg_name::InvocationHelp,
2336
2337 pub name: Symbol,
2338}
2339
2340pub(crate) mod unexpected_cfg_name {
2341 use rustc_errors::DiagSymbolList;
2342 use rustc_macros::Subdiagnostic;
2343 use rustc_span::{Ident, Span, Symbol};
2344
2345 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for CodeSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
CodeSuggestion::DefineFeatures => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_define_features);
diag.help(__message);
diag.restore_args();
}
CodeSuggestion::VersionSyntax {
between_name_and_value: __binding_0,
after_value: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_91 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("("))
});
let __code_92 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_91));
suggestions.push((__binding_1, __code_92));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_version_syntax);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
CodeSuggestion::SimilarNameAndValue {
span: __binding_0, code: __binding_1 } => {
let __code_93 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("code", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_similar_name_value);
diag.span_suggestions_with_style(__binding_0, __message,
__code_93, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
CodeSuggestion::SimilarNameNoValue {
span: __binding_0, code: __binding_1 } => {
let __code_94 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("code", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_similar_name_no_value);
diag.span_suggestions_with_style(__binding_0, __message,
__code_94, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
CodeSuggestion::SimilarNameDifferentValues {
span: __binding_0, code: __binding_1, expected: __binding_2
} => {
let __code_95 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
if let Some(__binding_2) = __binding_2 {
__binding_2.add_to_diag(diag);
}
diag.store_args();
diag.arg("code", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_similar_name_different_values);
diag.span_suggestions_with_style(__binding_0, __message,
__code_95, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
CodeSuggestion::SimilarName {
span: __binding_0, code: __binding_1, expected: __binding_2
} => {
let __code_96 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
if let Some(__binding_2) = __binding_2 {
__binding_2.add_to_diag(diag);
}
diag.store_args();
diag.arg("code", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_similar_name);
diag.span_suggestions_with_style(__binding_0, __message,
__code_96, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
CodeSuggestion::SimilarValues {
with_similar_values: __binding_0,
expected_names: __binding_1 } => {
for __binding_0 in __binding_0 {
__binding_0.add_to_diag(diag);
}
if let Some(__binding_1) = __binding_1 {
__binding_1.add_to_diag(diag);
}
diag.store_args();
diag.restore_args();
}
CodeSuggestion::BooleanLiteral {
span: __binding_0, literal: __binding_1 } => {
let __code_97 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("literal", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_boolean);
diag.span_suggestions_with_style(__binding_0, __message,
__code_97, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2346 pub(crate) enum CodeSuggestion {
2347 #[help(lint_unexpected_cfg_define_features)]
2348 DefineFeatures,
2349 #[multipart_suggestion(
2350 lint_unexpected_cfg_name_version_syntax,
2351 applicability = "machine-applicable"
2352 )]
2353 VersionSyntax {
2354 #[suggestion_part(code = "(")]
2355 between_name_and_value: Span,
2356 #[suggestion_part(code = ")")]
2357 after_value: Span,
2358 },
2359 #[suggestion(
2360 lint_unexpected_cfg_name_similar_name_value,
2361 applicability = "maybe-incorrect",
2362 code = "{code}"
2363 )]
2364 SimilarNameAndValue {
2365 #[primary_span]
2366 span: Span,
2367 code: String,
2368 },
2369 #[suggestion(
2370 lint_unexpected_cfg_name_similar_name_no_value,
2371 applicability = "maybe-incorrect",
2372 code = "{code}"
2373 )]
2374 SimilarNameNoValue {
2375 #[primary_span]
2376 span: Span,
2377 code: String,
2378 },
2379 #[suggestion(
2380 lint_unexpected_cfg_name_similar_name_different_values,
2381 applicability = "maybe-incorrect",
2382 code = "{code}"
2383 )]
2384 SimilarNameDifferentValues {
2385 #[primary_span]
2386 span: Span,
2387 code: String,
2388 #[subdiagnostic]
2389 expected: Option<ExpectedValues>,
2390 },
2391 #[suggestion(
2392 lint_unexpected_cfg_name_similar_name,
2393 applicability = "maybe-incorrect",
2394 code = "{code}"
2395 )]
2396 SimilarName {
2397 #[primary_span]
2398 span: Span,
2399 code: String,
2400 #[subdiagnostic]
2401 expected: Option<ExpectedValues>,
2402 },
2403 SimilarValues {
2404 #[subdiagnostic]
2405 with_similar_values: Vec<FoundWithSimilarValue>,
2406 #[subdiagnostic]
2407 expected_names: Option<ExpectedNames>,
2408 },
2409 #[suggestion(
2410 lint_unexpected_cfg_boolean,
2411 applicability = "machine-applicable",
2412 style = "verbose",
2413 code = "{literal}"
2414 )]
2415 BooleanLiteral {
2416 #[primary_span]
2417 span: Span,
2418 literal: bool,
2419 },
2420 }
2421
2422 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ExpectedValues {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ExpectedValues {
best_match: __binding_0, possibilities: __binding_1 } => {
diag.store_args();
diag.arg("best_match", __binding_0);
diag.arg("possibilities", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_expected_values);
diag.help(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2423 #[help(lint_unexpected_cfg_name_expected_values)]
2424 pub(crate) struct ExpectedValues {
2425 pub best_match: Symbol,
2426 pub possibilities: DiagSymbolList,
2427 }
2428
2429 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for FoundWithSimilarValue {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
FoundWithSimilarValue { span: __binding_0, code: __binding_1
} => {
let __code_98 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("code", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_with_similar_value);
diag.span_suggestions_with_style(__binding_0, __message,
__code_98, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2430 #[suggestion(
2431 lint_unexpected_cfg_name_with_similar_value,
2432 applicability = "maybe-incorrect",
2433 code = "{code}"
2434 )]
2435 pub(crate) struct FoundWithSimilarValue {
2436 #[primary_span]
2437 pub span: Span,
2438 pub code: String,
2439 }
2440
2441 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ExpectedNames {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ExpectedNames {
possibilities: __binding_0, and_more: __binding_1 } => {
diag.store_args();
diag.arg("possibilities", __binding_0);
diag.arg("and_more", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_name_expected_names);
diag.help_once(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2442 #[help_once(lint_unexpected_cfg_name_expected_names)]
2443 pub(crate) struct ExpectedNames {
2444 pub possibilities: DiagSymbolList<Ident>,
2445 pub and_more: usize,
2446 }
2447
2448 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for InvocationHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
InvocationHelp::Cargo {
macro_help: __binding_0, help: __binding_1 } => {
if let Some(__binding_0) = __binding_0 {
__binding_0.add_to_diag(diag);
}
if let Some(__binding_1) = __binding_1 {
__binding_1.add_to_diag(diag);
}
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_doc_cargo);
diag.note(__message);
diag.restore_args();
}
InvocationHelp::Rustc {
macro_help: __binding_0, help: __binding_1 } => {
if let Some(__binding_0) = __binding_0 {
__binding_0.add_to_diag(diag);
}
__binding_1.add_to_diag(diag);
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_doc_rustc);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2449 pub(crate) enum InvocationHelp {
2450 #[note(lint_unexpected_cfg_doc_cargo)]
2451 Cargo {
2452 #[subdiagnostic]
2453 macro_help: Option<super::UnexpectedCfgCargoMacroHelp>,
2454 #[subdiagnostic]
2455 help: Option<super::UnexpectedCfgCargoHelp>,
2456 },
2457 #[note(lint_unexpected_cfg_doc_rustc)]
2458 Rustc {
2459 #[subdiagnostic]
2460 macro_help: Option<super::UnexpectedCfgRustcMacroHelp>,
2461 #[subdiagnostic]
2462 help: super::UnexpectedCfgRustcHelp,
2463 },
2464 }
2465}
2466
2467#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnexpectedCfgValue {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnexpectedCfgValue {
code_sugg: __binding_0,
invocation_help: __binding_1,
has_value: __binding_2,
value: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_unexpected_cfg_value);
;
diag.arg("has_value", __binding_2);
diag.arg("value", __binding_3);
diag.subdiagnostic(__binding_0);
diag.subdiagnostic(__binding_1);
diag
}
};
}
}
};LintDiagnostic)]
2468#[diag(lint_unexpected_cfg_value)]
2469pub(crate) struct UnexpectedCfgValue {
2470 #[subdiagnostic]
2471 pub code_sugg: unexpected_cfg_value::CodeSuggestion,
2472 #[subdiagnostic]
2473 pub invocation_help: unexpected_cfg_value::InvocationHelp,
2474
2475 pub has_value: bool,
2476 pub value: String,
2477}
2478
2479pub(crate) mod unexpected_cfg_value {
2480 use rustc_errors::DiagSymbolList;
2481 use rustc_macros::Subdiagnostic;
2482 use rustc_span::{Span, Symbol};
2483
2484 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for CodeSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
CodeSuggestion::ChangeValue {
expected_values: __binding_0, suggestion: __binding_1 } => {
__binding_0.add_to_diag(diag);
if let Some(__binding_1) = __binding_1 {
__binding_1.add_to_diag(diag);
}
diag.store_args();
diag.restore_args();
}
CodeSuggestion::RemoveValue {
suggestion: __binding_0, name: __binding_1 } => {
if let Some(__binding_0) = __binding_0 {
__binding_0.add_to_diag(diag);
}
diag.store_args();
diag.arg("name", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_no_expected_value);
diag.note(__message);
diag.restore_args();
}
CodeSuggestion::RemoveCondition {
suggestion: __binding_0, name: __binding_1 } => {
__binding_0.add_to_diag(diag);
diag.store_args();
diag.arg("name", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_no_expected_values);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2485 pub(crate) enum CodeSuggestion {
2486 ChangeValue {
2487 #[subdiagnostic]
2488 expected_values: ExpectedValues,
2489 #[subdiagnostic]
2490 suggestion: Option<ChangeValueSuggestion>,
2491 },
2492 #[note(lint_unexpected_cfg_value_no_expected_value)]
2493 RemoveValue {
2494 #[subdiagnostic]
2495 suggestion: Option<RemoveValueSuggestion>,
2496
2497 name: Symbol,
2498 },
2499 #[note(lint_unexpected_cfg_value_no_expected_values)]
2500 RemoveCondition {
2501 #[subdiagnostic]
2502 suggestion: RemoveConditionSuggestion,
2503
2504 name: Symbol,
2505 },
2506 }
2507
2508 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ChangeValueSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ChangeValueSuggestion::SimilarName {
span: __binding_0, best_match: __binding_1 } => {
let __code_99 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("\"{0}\"", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("best_match", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_similar_name);
diag.span_suggestions_with_style(__binding_0, __message,
__code_99, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
ChangeValueSuggestion::SpecifyValue {
span: __binding_0, first_possibility: __binding_1 } => {
let __code_100 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" = \"{0}\"",
__binding_1))
})].into_iter();
diag.store_args();
diag.arg("first_possibility", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_specify_value);
diag.span_suggestions_with_style(__binding_0, __message,
__code_100, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2509 pub(crate) enum ChangeValueSuggestion {
2510 #[suggestion(
2511 lint_unexpected_cfg_value_similar_name,
2512 code = r#""{best_match}""#,
2513 applicability = "maybe-incorrect"
2514 )]
2515 SimilarName {
2516 #[primary_span]
2517 span: Span,
2518 best_match: Symbol,
2519 },
2520 #[suggestion(
2521 lint_unexpected_cfg_value_specify_value,
2522 code = r#" = "{first_possibility}""#,
2523 applicability = "maybe-incorrect"
2524 )]
2525 SpecifyValue {
2526 #[primary_span]
2527 span: Span,
2528 first_possibility: Symbol,
2529 },
2530 }
2531
2532 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for RemoveValueSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
RemoveValueSuggestion { span: __binding_0 } => {
let __code_101 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_remove_value);
diag.span_suggestions_with_style(__binding_0, __message,
__code_101, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2533 #[suggestion(
2534 lint_unexpected_cfg_value_remove_value,
2535 code = "",
2536 applicability = "maybe-incorrect"
2537 )]
2538 pub(crate) struct RemoveValueSuggestion {
2539 #[primary_span]
2540 pub span: Span,
2541 }
2542
2543 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for RemoveConditionSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
RemoveConditionSuggestion { span: __binding_0 } => {
let __code_102 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_remove_condition);
diag.span_suggestions_with_style(__binding_0, __message,
__code_102, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2544 #[suggestion(
2545 lint_unexpected_cfg_value_remove_condition,
2546 code = "",
2547 applicability = "maybe-incorrect"
2548 )]
2549 pub(crate) struct RemoveConditionSuggestion {
2550 #[primary_span]
2551 pub span: Span,
2552 }
2553
2554 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for ExpectedValues {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
ExpectedValues {
name: __binding_0,
have_none_possibility: __binding_1,
possibilities: __binding_2,
and_more: __binding_3 } => {
diag.store_args();
diag.arg("name", __binding_0);
diag.arg("have_none_possibility", __binding_1);
diag.arg("possibilities", __binding_2);
diag.arg("and_more", __binding_3);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_expected_values);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2555 #[note(lint_unexpected_cfg_value_expected_values)]
2556 pub(crate) struct ExpectedValues {
2557 pub name: Symbol,
2558 pub have_none_possibility: bool,
2559 pub possibilities: DiagSymbolList,
2560 pub and_more: usize,
2561 }
2562
2563 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for InvocationHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
InvocationHelp::Cargo {
help: __binding_0, macro_help: __binding_1 } => {
if let Some(__binding_0) = __binding_0 {
__binding_0.add_to_diag(diag);
}
if let Some(__binding_1) = __binding_1 {
__binding_1.add_to_diag(diag);
}
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_doc_cargo);
diag.note(__message);
diag.restore_args();
}
InvocationHelp::Rustc {
help: __binding_0, macro_help: __binding_1 } => {
if let Some(__binding_0) = __binding_0 {
__binding_0.add_to_diag(diag);
}
if let Some(__binding_1) = __binding_1 {
__binding_1.add_to_diag(diag);
}
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_doc_rustc);
diag.note(__message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2564 pub(crate) enum InvocationHelp {
2565 #[note(lint_unexpected_cfg_doc_cargo)]
2566 Cargo {
2567 #[subdiagnostic]
2568 help: Option<CargoHelp>,
2569 #[subdiagnostic]
2570 macro_help: Option<super::UnexpectedCfgCargoMacroHelp>,
2571 },
2572 #[note(lint_unexpected_cfg_doc_rustc)]
2573 Rustc {
2574 #[subdiagnostic]
2575 help: Option<super::UnexpectedCfgRustcHelp>,
2576 #[subdiagnostic]
2577 macro_help: Option<super::UnexpectedCfgRustcMacroHelp>,
2578 },
2579 }
2580
2581 #[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for CargoHelp {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
CargoHelp::AddFeature { value: __binding_0 } => {
diag.store_args();
diag.arg("value", __binding_0);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_value_add_feature);
diag.help(__message);
diag.restore_args();
}
CargoHelp::DefineFeatures => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unexpected_cfg_define_features);
diag.help(__message);
diag.restore_args();
}
CargoHelp::Other(__binding_0) => {
__binding_0.add_to_diag(diag);
diag.store_args();
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2582 pub(crate) enum CargoHelp {
2583 #[help(lint_unexpected_cfg_value_add_feature)]
2584 AddFeature {
2585 value: Symbol,
2586 },
2587 #[help(lint_unexpected_cfg_define_features)]
2588 DefineFeatures,
2589 Other(#[subdiagnostic] super::UnexpectedCfgCargoHelp),
2590 }
2591}
2592
2593#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedCrateDependency {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedCrateDependency {
extern_crate: __binding_0, local_crate: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_unused_crate_dependency);
diag.help(crate::fluent_generated::_subdiag::help);
;
diag.arg("extern_crate", __binding_0);
diag.arg("local_crate", __binding_1);
diag
}
};
}
}
};LintDiagnostic)]
2594#[diag(lint_unused_crate_dependency)]
2595#[help]
2596pub(crate) struct UnusedCrateDependency {
2597 pub extern_crate: Symbol,
2598 pub local_crate: Symbol,
2599}
2600
2601#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
IllFormedAttributeInput {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
IllFormedAttributeInput {
num_suggestions: __binding_0,
suggestions: __binding_1,
has_docs: __binding_2,
docs: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_ill_formed_attribute_input);
;
diag.arg("num_suggestions", __binding_0);
diag.arg("suggestions", __binding_1);
diag.arg("docs", __binding_3);
if __binding_2 {
diag.note(crate::fluent_generated::_subdiag::note);
}
diag
}
};
}
}
};LintDiagnostic)]
2603#[diag(lint_ill_formed_attribute_input)]
2604pub(crate) struct IllFormedAttributeInput {
2605 pub num_suggestions: usize,
2606 pub suggestions: DiagArgValue,
2607 #[note]
2608 pub has_docs: bool,
2609 pub docs: &'static str,
2610}
2611
2612#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnicodeTextFlow
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnicodeTextFlow {
comment_span: __binding_0,
characters: __binding_1,
suggestions: __binding_2,
num_codepoints: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_unicode_text_flow);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.arg("num_codepoints", __binding_3);
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
for __binding_1 in __binding_1 {
diag.subdiagnostic(__binding_1);
}
if let Some(__binding_2) = __binding_2 {
diag.subdiagnostic(__binding_2);
}
diag
}
};
}
}
};LintDiagnostic)]
2613#[diag(lint_unicode_text_flow)]
2614#[note]
2615pub(crate) struct UnicodeTextFlow {
2616 #[label]
2617 pub comment_span: Span,
2618 #[subdiagnostic]
2619 pub characters: Vec<UnicodeCharNoteSub>,
2620 #[subdiagnostic]
2621 pub suggestions: Option<UnicodeTextFlowSuggestion>,
2622
2623 pub num_codepoints: usize,
2624}
2625
2626#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnicodeCharNoteSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnicodeCharNoteSub { span: __binding_0, c_debug: __binding_1
} => {
diag.store_args();
diag.arg("c_debug", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label_comment_char);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2627#[label(lint_label_comment_char)]
2628pub(crate) struct UnicodeCharNoteSub {
2629 #[primary_span]
2630 pub span: Span,
2631 pub c_debug: String,
2632}
2633
2634#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnicodeTextFlowSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnicodeTextFlowSuggestion { spans: __binding_0 } => {
let mut suggestions = Vec::new();
let __code_103 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
for __binding_0 in __binding_0 {
suggestions.push((__binding_0, __code_103.clone()));
}
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::HideCodeAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2635#[multipart_suggestion(lint_suggestion, applicability = "machine-applicable", style = "hidden")]
2636pub(crate) struct UnicodeTextFlowSuggestion {
2637 #[suggestion_part(code = "")]
2638 pub spans: Vec<Span>,
2639}
2640
2641#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AbsPathWithModule {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AbsPathWithModule { sugg: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_abs_path_with_module);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2642#[diag(lint_abs_path_with_module)]
2643pub(crate) struct AbsPathWithModule {
2644 #[subdiagnostic]
2645 pub sugg: AbsPathWithModuleSugg,
2646}
2647
2648#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for AbsPathWithModuleSugg {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
AbsPathWithModuleSugg {
span: __binding_0,
applicability: __binding_1,
replacement: __binding_2 } => {
let __code_104 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_2))
})].into_iter();
diag.store_args();
diag.arg("replacement", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_104, __binding_1,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2649#[suggestion(lint_suggestion, code = "{replacement}")]
2650pub(crate) struct AbsPathWithModuleSugg {
2651 #[primary_span]
2652 pub span: Span,
2653 #[applicability]
2654 pub applicability: Applicability,
2655 pub replacement: String,
2656}
2657
2658#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
ElidedLifetimesInPaths {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ElidedLifetimesInPaths { subdiag: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_hidden_lifetime_parameters);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2659#[diag(lint_hidden_lifetime_parameters)]
2660pub(crate) struct ElidedLifetimesInPaths {
2661 #[subdiagnostic]
2662 pub subdiag: ElidedLifetimeInPathSubdiag,
2663}
2664
2665#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnusedImports {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedImports {
sugg: __binding_0,
test_module_span: __binding_1,
span_snippets: __binding_2,
num_snippets: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_unused_imports);
;
diag.arg("span_snippets", __binding_2);
diag.arg("num_snippets", __binding_3);
diag.subdiagnostic(__binding_0);
if let Some(__binding_1) = __binding_1 {
diag.span_help(__binding_1,
crate::fluent_generated::_subdiag::help);
}
diag
}
};
}
}
};LintDiagnostic)]
2666#[diag(lint_unused_imports)]
2667pub(crate) struct UnusedImports {
2668 #[subdiagnostic]
2669 pub sugg: UnusedImportsSugg,
2670 #[help]
2671 pub test_module_span: Option<Span>,
2672
2673 pub span_snippets: DiagArgValue,
2674 pub num_snippets: usize,
2675}
2676
2677#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnusedImportsSugg {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnusedImportsSugg::RemoveWholeUse { span: __binding_0 } => {
let __code_105 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_remove_whole_use);
diag.span_suggestions_with_style(__binding_0, __message,
__code_105, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::CompletelyHidden);
diag.restore_args();
}
UnusedImportsSugg::RemoveImports {
remove_spans: __binding_0, num_to_remove: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_106 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
for __binding_0 in __binding_0 {
suggestions.push((__binding_0, __code_106.clone()));
}
diag.store_args();
diag.arg("num_to_remove", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_remove_imports);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::CompletelyHidden);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2678pub(crate) enum UnusedImportsSugg {
2679 #[suggestion(
2680 lint_suggestion_remove_whole_use,
2681 applicability = "machine-applicable",
2682 code = "",
2683 style = "tool-only"
2684 )]
2685 RemoveWholeUse {
2686 #[primary_span]
2687 span: Span,
2688 },
2689 #[multipart_suggestion(
2690 lint_suggestion_remove_imports,
2691 applicability = "machine-applicable",
2692 style = "tool-only"
2693 )]
2694 RemoveImports {
2695 #[suggestion_part(code = "")]
2696 remove_spans: Vec<Span>,
2697 num_to_remove: usize,
2698 },
2699}
2700
2701#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for RedundantImport
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RedundantImport { subs: __binding_0, ident: __binding_1 } =>
{
diag.primary_message(crate::fluent_generated::lint_redundant_import);
;
diag.arg("ident", __binding_1);
for __binding_0 in __binding_0 {
diag.subdiagnostic(__binding_0);
}
diag
}
};
}
}
};LintDiagnostic)]
2702#[diag(lint_redundant_import)]
2703pub(crate) struct RedundantImport {
2704 #[subdiagnostic]
2705 pub subs: Vec<RedundantImportSub>,
2706
2707 pub ident: Ident,
2708}
2709
2710#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for RedundantImportSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
RedundantImportSub::ImportedHere(__binding_0) => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label_imported_here);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
RedundantImportSub::DefinedHere(__binding_0) => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label_defined_here);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
RedundantImportSub::ImportedPrelude(__binding_0) => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label_imported_prelude);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
RedundantImportSub::DefinedPrelude(__binding_0) => {
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_label_defined_prelude);
diag.span_label(__binding_0, __message);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2711pub(crate) enum RedundantImportSub {
2712 #[label(lint_label_imported_here)]
2713 ImportedHere(#[primary_span] Span),
2714 #[label(lint_label_defined_here)]
2715 DefinedHere(#[primary_span] Span),
2716 #[label(lint_label_imported_prelude)]
2717 ImportedPrelude(#[primary_span] Span),
2718 #[label(lint_label_defined_prelude)]
2719 DefinedPrelude(#[primary_span] Span),
2720}
2721
2722#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
PatternsInFnsWithoutBody {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
PatternsInFnsWithoutBody::Foreign { sub: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_pattern_in_foreign);
;
diag.subdiagnostic(__binding_0);
diag
}
PatternsInFnsWithoutBody::Bodiless { sub: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_pattern_in_bodiless);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2723pub(crate) enum PatternsInFnsWithoutBody {
2724 #[diag(lint_pattern_in_foreign)]
2725 Foreign {
2726 #[subdiagnostic]
2727 sub: PatternsInFnsWithoutBodySub,
2728 },
2729 #[diag(lint_pattern_in_bodiless)]
2730 Bodiless {
2731 #[subdiagnostic]
2732 sub: PatternsInFnsWithoutBodySub,
2733 },
2734}
2735
2736#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for PatternsInFnsWithoutBodySub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
PatternsInFnsWithoutBodySub {
span: __binding_0, ident: __binding_1 } => {
let __code_107 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("ident", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_remove_mut_from_pattern);
diag.span_suggestions_with_style(__binding_0, __message,
__code_107, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2737#[suggestion(lint_remove_mut_from_pattern, code = "{ident}", applicability = "machine-applicable")]
2738pub(crate) struct PatternsInFnsWithoutBodySub {
2739 #[primary_span]
2740 pub span: Span,
2741
2742 pub ident: Ident,
2743}
2744
2745#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for ReservedPrefix {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ReservedPrefix {
label: __binding_0,
suggestion: __binding_1,
prefix: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_reserved_prefix);
;
let __code_108 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" "))
})].into_iter();
diag.arg("prefix", __binding_2);
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_108,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
2746#[diag(lint_reserved_prefix)]
2747pub(crate) struct ReservedPrefix {
2748 #[label]
2749 pub label: Span,
2750 #[suggestion(code = " ", applicability = "machine-applicable")]
2751 pub suggestion: Span,
2752
2753 pub prefix: String,
2754}
2755
2756#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for RawPrefix {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RawPrefix { label: __binding_0, suggestion: __binding_1 } =>
{
diag.primary_message(crate::fluent_generated::lint_raw_prefix);
;
let __code_109 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" "))
})].into_iter();
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag.span_suggestions_with_style(__binding_1,
crate::fluent_generated::_subdiag::suggestion, __code_109,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
2757#[diag(lint_raw_prefix)]
2758pub(crate) struct RawPrefix {
2759 #[label]
2760 pub label: Span,
2761 #[suggestion(code = " ", applicability = "machine-applicable")]
2762 pub suggestion: Span,
2763}
2764
2765#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
BreakWithLabelAndLoop {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
BreakWithLabelAndLoop { sub: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_break_with_label_and_loop);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2766#[diag(lint_break_with_label_and_loop)]
2767pub(crate) struct BreakWithLabelAndLoop {
2768 #[subdiagnostic]
2769 pub sub: BreakWithLabelAndLoopSub,
2770}
2771
2772#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for BreakWithLabelAndLoopSub {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
BreakWithLabelAndLoopSub {
left: __binding_0, right: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_110 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("("))
});
let __code_111 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_110));
suggestions.push((__binding_1, __code_111));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2773#[multipart_suggestion(lint_suggestion, applicability = "machine-applicable")]
2774pub(crate) struct BreakWithLabelAndLoopSub {
2775 #[suggestion_part(code = "(")]
2776 pub left: Span,
2777 #[suggestion_part(code = ")")]
2778 pub right: Span,
2779}
2780
2781#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DeprecatedWhereClauseLocation {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DeprecatedWhereClauseLocation { suggestion: __binding_0 } =>
{
diag.primary_message(crate::fluent_generated::lint_deprecated_where_clause_location);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2782#[diag(lint_deprecated_where_clause_location)]
2783#[note]
2784pub(crate) struct DeprecatedWhereClauseLocation {
2785 #[subdiagnostic]
2786 pub suggestion: DeprecatedWhereClauseLocationSugg,
2787}
2788
2789#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for DeprecatedWhereClauseLocationSugg
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
DeprecatedWhereClauseLocationSugg::MoveToEnd {
left: __binding_0, right: __binding_1, sugg: __binding_2 }
=> {
let mut suggestions = Vec::new();
let __code_112 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
let __code_113 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_2))
});
suggestions.push((__binding_0, __code_112));
suggestions.push((__binding_1, __code_113));
diag.store_args();
diag.arg("sugg", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_move_to_end);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
DeprecatedWhereClauseLocationSugg::RemoveWhere {
span: __binding_0 } => {
let __code_114 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_remove_where);
diag.span_suggestions_with_style(__binding_0, __message,
__code_114, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2790pub(crate) enum DeprecatedWhereClauseLocationSugg {
2791 #[multipart_suggestion(lint_suggestion_move_to_end, applicability = "machine-applicable")]
2792 MoveToEnd {
2793 #[suggestion_part(code = "")]
2794 left: Span,
2795 #[suggestion_part(code = "{sugg}")]
2796 right: Span,
2797
2798 sugg: String,
2799 },
2800 #[suggestion(lint_suggestion_remove_where, code = "", applicability = "machine-applicable")]
2801 RemoveWhere {
2802 #[primary_span]
2803 span: Span,
2804 },
2805}
2806
2807#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
SingleUseLifetime {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
SingleUseLifetime {
param_span: __binding_0,
use_span: __binding_1,
suggestion: __binding_2,
ident: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_single_use_lifetime);
;
diag.arg("ident", __binding_3);
diag.span_label(__binding_0,
crate::fluent_generated::lint_label_param);
diag.span_label(__binding_1,
crate::fluent_generated::lint_label_use);
if let Some(__binding_2) = __binding_2 {
diag.subdiagnostic(__binding_2);
}
diag
}
};
}
}
};LintDiagnostic)]
2808#[diag(lint_single_use_lifetime)]
2809pub(crate) struct SingleUseLifetime {
2810 #[label(lint_label_param)]
2811 pub param_span: Span,
2812 #[label(lint_label_use)]
2813 pub use_span: Span,
2814 #[subdiagnostic]
2815 pub suggestion: Option<SingleUseLifetimeSugg>,
2816
2817 pub ident: Ident,
2818}
2819
2820#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for SingleUseLifetimeSugg {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
SingleUseLifetimeSugg {
deletion_span: __binding_0,
use_span: __binding_1,
replace_lt: __binding_2 } => {
let mut suggestions = Vec::new();
let __code_115 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
});
let __code_116 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_2))
});
if let Some(__binding_0) = __binding_0 {
suggestions.push((__binding_0, __code_115));
}
suggestions.push((__binding_1, __code_116));
diag.store_args();
diag.arg("replace_lt", __binding_2);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2821#[multipart_suggestion(lint_suggestion, applicability = "machine-applicable")]
2822pub(crate) struct SingleUseLifetimeSugg {
2823 #[suggestion_part(code = "")]
2824 pub deletion_span: Option<Span>,
2825 #[suggestion_part(code = "{replace_lt}")]
2826 pub use_span: Span,
2827
2828 pub replace_lt: String,
2829}
2830
2831#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnusedLifetime {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedLifetime {
deletion_span: __binding_0, ident: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_unused_lifetime);
;
let __code_117 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.arg("ident", __binding_1);
if let Some(__binding_0) = __binding_0 {
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_117,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
}
diag
}
};
}
}
};LintDiagnostic)]
2832#[diag(lint_unused_lifetime)]
2833pub(crate) struct UnusedLifetime {
2834 #[suggestion(code = "", applicability = "machine-applicable")]
2835 pub deletion_span: Option<Span>,
2836
2837 pub ident: Ident,
2838}
2839
2840#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
NamedArgumentUsedPositionally {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
NamedArgumentUsedPositionally {
named_arg_sp: __binding_0,
position_label_sp: __binding_1,
suggestion: __binding_2,
name: __binding_3,
named_arg_name: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_named_argument_used_positionally);
;
let __code_118 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_3))
})].into_iter();
diag.arg("name", __binding_3);
diag.arg("named_arg_name", __binding_4);
diag.span_label(__binding_0,
crate::fluent_generated::lint_label_named_arg);
if let Some(__binding_1) = __binding_1 {
diag.span_label(__binding_1,
crate::fluent_generated::lint_label_position_arg);
}
if let Some(__binding_2) = __binding_2 {
diag.span_suggestions_with_style(__binding_2,
crate::fluent_generated::_subdiag::suggestion, __code_118,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
}
diag
}
};
}
}
};LintDiagnostic)]
2841#[diag(lint_named_argument_used_positionally)]
2842pub(crate) struct NamedArgumentUsedPositionally {
2843 #[label(lint_label_named_arg)]
2844 pub named_arg_sp: Span,
2845 #[label(lint_label_position_arg)]
2846 pub position_label_sp: Option<Span>,
2847 #[suggestion(style = "verbose", code = "{name}", applicability = "maybe-incorrect")]
2848 pub suggestion: Option<Span>,
2849
2850 pub name: String,
2851 pub named_arg_name: String,
2852}
2853
2854#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AmbiguousGlobReexports {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AmbiguousGlobReexports {
first_reexport: __binding_0,
duplicate_reexport: __binding_1,
name: __binding_2,
namespace: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_ambiguous_glob_reexport);
;
diag.arg("name", __binding_2);
diag.arg("namespace", __binding_3);
diag.span_label(__binding_0,
crate::fluent_generated::lint_label_first_reexport);
diag.span_label(__binding_1,
crate::fluent_generated::lint_label_duplicate_reexport);
diag
}
};
}
}
};LintDiagnostic)]
2855#[diag(lint_ambiguous_glob_reexport)]
2856pub(crate) struct AmbiguousGlobReexports {
2857 #[label(lint_label_first_reexport)]
2858 pub first_reexport: Span,
2859 #[label(lint_label_duplicate_reexport)]
2860 pub duplicate_reexport: Span,
2861
2862 pub name: String,
2863 pub namespace: String,
2864}
2865
2866#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
HiddenGlobReexports {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
HiddenGlobReexports {
glob_reexport: __binding_0,
private_item: __binding_1,
name: __binding_2,
namespace: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_hidden_glob_reexport);
;
diag.arg("name", __binding_2);
diag.arg("namespace", __binding_3);
diag.span_note(__binding_0,
crate::fluent_generated::lint_note_glob_reexport);
diag.span_note(__binding_1,
crate::fluent_generated::lint_note_private_item);
diag
}
};
}
}
};LintDiagnostic)]
2867#[diag(lint_hidden_glob_reexport)]
2868pub(crate) struct HiddenGlobReexports {
2869 #[note(lint_note_glob_reexport)]
2870 pub glob_reexport: Span,
2871 #[note(lint_note_private_item)]
2872 pub private_item: Span,
2873
2874 pub name: String,
2875 pub namespace: String,
2876}
2877
2878#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnusedQualifications {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedQualifications { removal_span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_unnecessary_qualification);
;
let __code_119 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_119,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag
}
};
}
}
};LintDiagnostic)]
2879#[diag(lint_unnecessary_qualification)]
2880pub(crate) struct UnusedQualifications {
2881 #[suggestion(style = "verbose", code = "", applicability = "machine-applicable")]
2882 pub removal_span: Span,
2883}
2884
2885#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AssociatedConstElidedLifetime {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AssociatedConstElidedLifetime {
span: __binding_0,
code: __binding_1,
elided: __binding_2,
lifetimes_in_scope: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_associated_const_elided_lifetime);
;
let __code_120 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}", __binding_1))
})].into_iter();
diag.arg("code", __binding_1);
diag.arg("elided", __binding_2);
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_120,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag.span_note(__binding_3,
crate::fluent_generated::_subdiag::note);
diag
}
};
}
}
};LintDiagnostic)]
2886#[diag(lint_associated_const_elided_lifetime)]
2887pub(crate) struct AssociatedConstElidedLifetime {
2888 #[suggestion(style = "verbose", code = "{code}", applicability = "machine-applicable")]
2889 pub span: Span,
2890
2891 pub code: &'static str,
2892 pub elided: bool,
2893 #[note]
2894 pub lifetimes_in_scope: MultiSpan,
2895}
2896
2897#[derive(const _: () =
{
impl<'__a, 'a> rustc_errors::LintDiagnostic<'__a, ()> for
RefOfMutStatic<'a> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
RefOfMutStatic {
span: __binding_0,
sugg: __binding_1,
shared_label: __binding_2,
shared_note: __binding_3,
mut_note: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_static_mut_refs_lint);
;
diag.arg("shared_label", __binding_2);
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
if __binding_3 {
diag.note(crate::fluent_generated::lint_shared_note);
}
if __binding_4 {
diag.note(crate::fluent_generated::lint_mut_note);
}
diag
}
};
}
}
};LintDiagnostic)]
2898#[diag(lint_static_mut_refs_lint)]
2899pub(crate) struct RefOfMutStatic<'a> {
2900 #[label]
2901 pub span: Span,
2902 #[subdiagnostic]
2903 pub sugg: Option<MutRefSugg>,
2904 pub shared_label: &'a str,
2905 #[note(lint_shared_note)]
2906 pub shared_note: bool,
2907 #[note(lint_mut_note)]
2908 pub mut_note: bool,
2909}
2910
2911#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for MutRefSugg {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
MutRefSugg::Shared { span: __binding_0 } => {
let mut suggestions = Vec::new();
let __code_121 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("&raw const "))
});
suggestions.push((__binding_0, __code_121));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
MutRefSugg::Mut { span: __binding_0 } => {
let mut suggestions = Vec::new();
let __code_122 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("&raw mut "))
});
suggestions.push((__binding_0, __code_122));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion_mut);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2912pub(crate) enum MutRefSugg {
2913 #[multipart_suggestion(lint_suggestion, style = "verbose", applicability = "maybe-incorrect")]
2914 Shared {
2915 #[suggestion_part(code = "&raw const ")]
2916 span: Span,
2917 },
2918 #[multipart_suggestion(
2919 lint_suggestion_mut,
2920 style = "verbose",
2921 applicability = "maybe-incorrect"
2922 )]
2923 Mut {
2924 #[suggestion_part(code = "&raw mut ")]
2925 span: Span,
2926 },
2927}
2928
2929#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnqualifiedLocalImportsDiag {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnqualifiedLocalImportsDiag {} => {
diag.primary_message(crate::fluent_generated::lint_unqualified_local_imports);
;
diag
}
};
}
}
};LintDiagnostic)]
2930#[diag(lint_unqualified_local_imports)]
2931pub(crate) struct UnqualifiedLocalImportsDiag {}
2932
2933#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for ReservedString {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ReservedString { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_reserved_string);
;
let __code_123 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" "))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_123,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
2934#[diag(lint_reserved_string)]
2935pub(crate) struct ReservedString {
2936 #[suggestion(code = " ", applicability = "machine-applicable")]
2937 pub suggestion: Span,
2938}
2939
2940#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
ReservedMultihash {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
ReservedMultihash { suggestion: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_reserved_multihash);
;
let __code_124 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" "))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_124,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
2941#[diag(lint_reserved_multihash)]
2942pub(crate) struct ReservedMultihash {
2943 #[suggestion(code = " ", applicability = "machine-applicable")]
2944 pub suggestion: Span,
2945}
2946
2947#[derive(const _: () =
{
impl<'__a, 'tcx> rustc_errors::LintDiagnostic<'__a, ()> for
FunctionCastsAsIntegerDiag<'tcx> {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
FunctionCastsAsIntegerDiag { sugg: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_function_casts_as_integer);
;
diag.subdiagnostic(__binding_0);
diag
}
};
}
}
};LintDiagnostic)]
2948#[diag(lint_function_casts_as_integer)]
2949pub(crate) struct FunctionCastsAsIntegerDiag<'tcx> {
2950 #[subdiagnostic]
2951 pub(crate) sugg: FunctionCastsAsIntegerSugg<'tcx>,
2952}
2953
2954#[derive(const _: () =
{
impl<'tcx> rustc_errors::Subdiagnostic for
FunctionCastsAsIntegerSugg<'tcx> {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
FunctionCastsAsIntegerSugg {
suggestion: __binding_0, cast_to_ty: __binding_1 } => {
let __code_125 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(" as *const ()"))
})].into_iter();
diag.store_args();
diag.arg("cast_to_ty", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_cast_as_fn);
diag.span_suggestions_with_style(__binding_0, __message,
__code_125, rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowAlways);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
2955#[suggestion(
2956 lint_cast_as_fn,
2957 code = " as *const ()",
2958 applicability = "machine-applicable",
2959 style = "verbose"
2960)]
2961pub(crate) struct FunctionCastsAsIntegerSugg<'tcx> {
2962 #[primary_span]
2963 pub suggestion: Span,
2964 pub cast_to_ty: Ty<'tcx>,
2965}
2966
2967#[derive(#[automatically_derived]
impl ::core::fmt::Debug for MismatchedLifetimeSyntaxes {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"MismatchedLifetimeSyntaxes", "inputs", &self.inputs, "outputs",
&self.outputs, "suggestions", &&self.suggestions)
}
}Debug)]
2968pub(crate) struct MismatchedLifetimeSyntaxes {
2969 pub inputs: LifetimeSyntaxCategories<Vec<Span>>,
2970 pub outputs: LifetimeSyntaxCategories<Vec<Span>>,
2971
2972 pub suggestions: Vec<MismatchedLifetimeSyntaxesSuggestion>,
2973}
2974
2975impl<'a, G: EmissionGuarantee> LintDiagnostic<'a, G> for MismatchedLifetimeSyntaxes {
2976 fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, G>) {
2977 let counts = self.inputs.len() + self.outputs.len();
2978 let message = match counts {
2979 LifetimeSyntaxCategories { hidden: 0, elided: 0, named: 0 } => {
2980 {
::core::panicking::panic_fmt(format_args!("No lifetime mismatch detected"));
}panic!("No lifetime mismatch detected")
2981 }
2982
2983 LifetimeSyntaxCategories { hidden: _, elided: _, named: 0 } => {
2984 fluent::lint_mismatched_lifetime_syntaxes_hiding_while_elided
2985 }
2986
2987 LifetimeSyntaxCategories { hidden: _, elided: 0, named: _ } => {
2988 fluent::lint_mismatched_lifetime_syntaxes_hiding_while_named
2989 }
2990
2991 LifetimeSyntaxCategories { hidden: 0, elided: _, named: _ } => {
2992 fluent::lint_mismatched_lifetime_syntaxes_eliding_while_named
2993 }
2994
2995 LifetimeSyntaxCategories { hidden: _, elided: _, named: _ } => {
2996 fluent::lint_mismatched_lifetime_syntaxes_hiding_and_eliding_while_named
2997 }
2998 };
2999 diag.primary_message(message);
3000
3001 for s in self.inputs.hidden {
3002 diag.span_label(s, fluent::lint_mismatched_lifetime_syntaxes_input_hidden);
3003 }
3004 for s in self.inputs.elided {
3005 diag.span_label(s, fluent::lint_mismatched_lifetime_syntaxes_input_elided);
3006 }
3007 for s in self.inputs.named {
3008 diag.span_label(s, fluent::lint_mismatched_lifetime_syntaxes_input_named);
3009 }
3010
3011 for s in self.outputs.hidden {
3012 diag.span_label(s, fluent::lint_mismatched_lifetime_syntaxes_output_hidden);
3013 }
3014 for s in self.outputs.elided {
3015 diag.span_label(s, fluent::lint_mismatched_lifetime_syntaxes_output_elided);
3016 }
3017 for s in self.outputs.named {
3018 diag.span_label(s, fluent::lint_mismatched_lifetime_syntaxes_output_named);
3019 }
3020
3021 diag.help(fluent::lint_mismatched_lifetime_syntaxes_help);
3022
3023 let mut suggestions = self.suggestions.into_iter();
3024 if let Some(s) = suggestions.next() {
3025 diag.subdiagnostic(s);
3026
3027 for mut s in suggestions {
3028 s.make_optional_alternative();
3029 diag.subdiagnostic(s);
3030 }
3031 }
3032 }
3033}
3034
3035#[derive(#[automatically_derived]
impl ::core::fmt::Debug for MismatchedLifetimeSyntaxesSuggestion {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
MismatchedLifetimeSyntaxesSuggestion::Implicit {
suggestions: __self_0, optional_alternative: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"Implicit", "suggestions", __self_0, "optional_alternative",
&__self_1),
MismatchedLifetimeSyntaxesSuggestion::Mixed {
implicit_suggestions: __self_0,
explicit_anonymous_suggestions: __self_1,
optional_alternative: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f, "Mixed",
"implicit_suggestions", __self_0,
"explicit_anonymous_suggestions", __self_1,
"optional_alternative", &__self_2),
MismatchedLifetimeSyntaxesSuggestion::Explicit {
lifetime_name: __self_0,
suggestions: __self_1,
optional_alternative: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"Explicit", "lifetime_name", __self_0, "suggestions",
__self_1, "optional_alternative", &__self_2),
}
}
}Debug)]
3036pub(crate) enum MismatchedLifetimeSyntaxesSuggestion {
3037 Implicit {
3038 suggestions: Vec<Span>,
3039 optional_alternative: bool,
3040 },
3041
3042 Mixed {
3043 implicit_suggestions: Vec<Span>,
3044 explicit_anonymous_suggestions: Vec<(Span, String)>,
3045 optional_alternative: bool,
3046 },
3047
3048 Explicit {
3049 lifetime_name: String,
3050 suggestions: Vec<(Span, String)>,
3051 optional_alternative: bool,
3052 },
3053}
3054
3055impl MismatchedLifetimeSyntaxesSuggestion {
3056 fn make_optional_alternative(&mut self) {
3057 use MismatchedLifetimeSyntaxesSuggestion::*;
3058
3059 let optional_alternative = match self {
3060 Implicit { optional_alternative, .. }
3061 | Mixed { optional_alternative, .. }
3062 | Explicit { optional_alternative, .. } => optional_alternative,
3063 };
3064
3065 *optional_alternative = true;
3066 }
3067}
3068
3069impl Subdiagnostic for MismatchedLifetimeSyntaxesSuggestion {
3070 fn add_to_diag<G: EmissionGuarantee>(self, diag: &mut Diag<'_, G>) {
3071 use MismatchedLifetimeSyntaxesSuggestion::*;
3072
3073 let style = |optional_alternative| {
3074 if optional_alternative {
3075 SuggestionStyle::CompletelyHidden
3076 } else {
3077 SuggestionStyle::ShowAlways
3078 }
3079 };
3080
3081 let applicability = |optional_alternative| {
3082 if optional_alternative {
3085 Applicability::MaybeIncorrect
3086 } else {
3087 Applicability::MachineApplicable
3088 }
3089 };
3090
3091 match self {
3092 Implicit { suggestions, optional_alternative } => {
3093 let suggestions = suggestions.into_iter().map(|s| (s, String::new())).collect();
3094 diag.multipart_suggestion_with_style(
3095 fluent::lint_mismatched_lifetime_syntaxes_suggestion_implicit,
3096 suggestions,
3097 applicability(optional_alternative),
3098 style(optional_alternative),
3099 );
3100 }
3101
3102 Mixed {
3103 implicit_suggestions,
3104 explicit_anonymous_suggestions,
3105 optional_alternative,
3106 } => {
3107 let message = if implicit_suggestions.is_empty() {
3108 fluent::lint_mismatched_lifetime_syntaxes_suggestion_mixed_only_paths
3109 } else {
3110 fluent::lint_mismatched_lifetime_syntaxes_suggestion_mixed
3111 };
3112
3113 let implicit_suggestions =
3114 implicit_suggestions.into_iter().map(|s| (s, String::new()));
3115
3116 let suggestions =
3117 implicit_suggestions.chain(explicit_anonymous_suggestions).collect();
3118
3119 diag.multipart_suggestion_with_style(
3120 message,
3121 suggestions,
3122 applicability(optional_alternative),
3123 style(optional_alternative),
3124 );
3125 }
3126
3127 Explicit { lifetime_name, suggestions, optional_alternative } => {
3128 diag.arg("lifetime_name", lifetime_name);
3129 let msg = diag.eagerly_translate(
3130 fluent::lint_mismatched_lifetime_syntaxes_suggestion_explicit,
3131 );
3132 diag.remove_arg("lifetime_name");
3133 diag.multipart_suggestion_with_style(
3134 msg,
3135 suggestions,
3136 applicability(optional_alternative),
3137 style(optional_alternative),
3138 );
3139 }
3140 }
3141 }
3142}
3143
3144#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
EmptyAttributeList {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
EmptyAttributeList {
attr_span: __binding_0,
attr_path: __binding_1,
valid_without_list: __binding_2 } => {
diag.primary_message(crate::fluent_generated::lint_empty_attribute);
diag.note(crate::fluent_generated::_subdiag::note);
;
let __code_126 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.arg("attr_path", __binding_1);
diag.arg("valid_without_list", __binding_2);
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_126,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
3145#[diag(lint_empty_attribute)]
3146#[note]
3147pub(crate) struct EmptyAttributeList {
3148 #[suggestion(code = "", applicability = "machine-applicable")]
3149 pub attr_span: Span,
3150 pub attr_path: String,
3151 pub valid_without_list: bool,
3152}
3153
3154#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
InvalidTargetLint {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidTargetLint {
name: __binding_0,
target: __binding_1,
applied: __binding_2,
only: __binding_3,
attr_span: __binding_4 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_target);
diag.warn(crate::fluent_generated::_subdiag::warn);
diag.help(crate::fluent_generated::_subdiag::help);
;
let __code_127 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.arg("name", __binding_0);
diag.arg("target", __binding_1);
diag.arg("applied", __binding_2);
diag.arg("only", __binding_3);
diag.span_suggestions_with_style(__binding_4,
crate::fluent_generated::_subdiag::suggestion, __code_127,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::CompletelyHidden);
diag
}
};
}
}
};LintDiagnostic)]
3155#[diag(lint_invalid_target)]
3156#[warning]
3157#[help]
3158pub(crate) struct InvalidTargetLint {
3159 pub name: String,
3160 pub target: &'static str,
3161 pub applied: DiagArgValue,
3162 pub only: &'static str,
3163 #[suggestion(code = "", applicability = "machine-applicable", style = "tool-only")]
3164 pub attr_span: Span,
3165}
3166
3167#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for InvalidAttrStyle
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
InvalidAttrStyle {
name: __binding_0,
is_used_as_inner: __binding_1,
target_span: __binding_2,
target: __binding_3 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_style);
;
diag.arg("name", __binding_0);
diag.arg("is_used_as_inner", __binding_1);
diag.arg("target", __binding_3);
if let Some(__binding_2) = __binding_2 {
diag.span_note(__binding_2,
crate::fluent_generated::_subdiag::note);
}
diag
}
};
}
}
};LintDiagnostic)]
3168#[diag(lint_invalid_style)]
3169pub(crate) struct InvalidAttrStyle {
3170 pub name: String,
3171 pub is_used_as_inner: bool,
3172 #[note]
3173 pub target_span: Option<Span>,
3174 pub target: &'static str,
3175}
3176
3177#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnusedDuplicate
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedDuplicate {
this: __binding_0, other: __binding_1, warning: __binding_2
} => {
diag.primary_message(crate::fluent_generated::lint_unused_duplicate);
;
let __code_128 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_128,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.span_note(__binding_1,
crate::fluent_generated::_subdiag::note);
if __binding_2 {
diag.warn(crate::fluent_generated::_subdiag::warn);
}
diag
}
};
}
}
};LintDiagnostic)]
3178#[diag(lint_unused_duplicate)]
3179pub(crate) struct UnusedDuplicate {
3180 #[suggestion(code = "", applicability = "machine-applicable")]
3181 pub this: Span,
3182 #[note]
3183 pub other: Span,
3184 #[warning]
3185 pub warning: bool,
3186}
3187
3188#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnsafeAttrOutsideUnsafeLint {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnsafeAttrOutsideUnsafeLint {
span: __binding_0, suggestion: __binding_1 } => {
diag.primary_message(crate::fluent_generated::lint_unsafe_attr_outside_unsafe);
;
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
if let Some(__binding_1) = __binding_1 {
diag.subdiagnostic(__binding_1);
}
diag
}
};
}
}
};LintDiagnostic)]
3189#[diag(lint_unsafe_attr_outside_unsafe)]
3190pub(crate) struct UnsafeAttrOutsideUnsafeLint {
3191 #[label]
3192 pub span: Span,
3193 #[subdiagnostic]
3194 pub suggestion: Option<UnsafeAttrOutsideUnsafeSuggestion>,
3195}
3196
3197#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnsafeAttrOutsideUnsafeSuggestion
{
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnsafeAttrOutsideUnsafeSuggestion {
left: __binding_0, right: __binding_1 } => {
let mut suggestions = Vec::new();
let __code_129 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("unsafe("))
});
let __code_130 =
::alloc::__export::must_use({
::alloc::fmt::format(format_args!(")"))
});
suggestions.push((__binding_0, __code_129));
suggestions.push((__binding_1, __code_130));
diag.store_args();
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_unsafe_attr_outside_unsafe_suggestion);
diag.multipart_suggestion_with_style(__message, suggestions,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
3198#[multipart_suggestion(
3199 lint_unsafe_attr_outside_unsafe_suggestion,
3200 applicability = "machine-applicable"
3201)]
3202pub(crate) struct UnsafeAttrOutsideUnsafeSuggestion {
3203 #[suggestion_part(code = "unsafe(")]
3204 pub left: Span,
3205 #[suggestion_part(code = ")")]
3206 pub right: Span,
3207}
3208
3209#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for UnusedVisibility
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnusedVisibility { span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_unused_visibilities);
diag.note(crate::fluent_generated::_subdiag::note);
;
let __code_131 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!(""))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_131,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::HideCodeInline);
diag
}
};
}
}
};LintDiagnostic)]
3210#[diag(lint_unused_visibilities)]
3211#[note]
3212pub(crate) struct UnusedVisibility {
3213 #[suggestion(style = "short", code = "", applicability = "machine-applicable")]
3214 pub span: Span,
3215}
3216
3217#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocAliasDuplicated {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocAliasDuplicated { first_defn: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_doc_alias_duplicated);
;
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
3218#[diag(lint_doc_alias_duplicated)]
3219pub(crate) struct DocAliasDuplicated {
3220 #[label]
3221 pub first_defn: Span,
3222}
3223
3224#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocAutoCfgExpectsHideOrShow {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocAutoCfgExpectsHideOrShow => {
diag.primary_message(crate::fluent_generated::lint_doc_auto_cfg_expects_hide_or_show);
;
diag
}
};
}
}
};LintDiagnostic)]
3225#[diag(lint_doc_auto_cfg_expects_hide_or_show)]
3226pub(crate) struct DocAutoCfgExpectsHideOrShow;
3227
3228#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocAutoCfgHideShowUnexpectedItem {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocAutoCfgHideShowUnexpectedItem { attr_name: __binding_0 }
=> {
diag.primary_message(crate::fluent_generated::lint_doc_auto_cfg_hide_show_unexpected_item);
;
diag.arg("attr_name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
3229#[diag(lint_doc_auto_cfg_hide_show_unexpected_item)]
3230pub(crate) struct DocAutoCfgHideShowUnexpectedItem {
3231 pub attr_name: Symbol,
3232}
3233
3234#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocAutoCfgHideShowExpectsList {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocAutoCfgHideShowExpectsList { attr_name: __binding_0 } =>
{
diag.primary_message(crate::fluent_generated::lint_doc_auto_cfg_hide_show_expects_list);
;
diag.arg("attr_name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
3235#[diag(lint_doc_auto_cfg_hide_show_expects_list)]
3236pub(crate) struct DocAutoCfgHideShowExpectsList {
3237 pub attr_name: Symbol,
3238}
3239
3240#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for DocInvalid {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocInvalid => {
diag.primary_message(crate::fluent_generated::lint_doc_invalid);
;
diag
}
};
}
}
};LintDiagnostic)]
3241#[diag(lint_doc_invalid)]
3242pub(crate) struct DocInvalid;
3243
3244#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocUnknownInclude {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocUnknownInclude {
inner: __binding_0, value: __binding_1, sugg: __binding_2 }
=> {
diag.primary_message(crate::fluent_generated::lint_doc_unknown_include);
;
let __code_132 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("#{0}[doc = include_str!(\"{1}\")]",
__binding_0, __binding_1))
})].into_iter();
diag.arg("inner", __binding_0);
diag.arg("value", __binding_1);
diag.span_suggestions_with_style(__binding_2.0,
crate::fluent_generated::_subdiag::suggestion, __code_132,
__binding_2.1, rustc_errors::SuggestionStyle::ShowCode);
diag
}
};
}
}
};LintDiagnostic)]
3245#[diag(lint_doc_unknown_include)]
3246pub(crate) struct DocUnknownInclude {
3247 pub inner: &'static str,
3248 pub value: Symbol,
3249 #[suggestion(code = "#{inner}[doc = include_str!(\"{value}\")]")]
3250 pub sugg: (Span, Applicability),
3251}
3252
3253#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocUnknownSpotlight {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocUnknownSpotlight { sugg_span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_doc_unknown_spotlight);
diag.note(crate::fluent_generated::_subdiag::note);
diag.note(crate::fluent_generated::lint_no_op_note);
;
let __code_133 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("notable_trait"))
})].into_iter();
diag.span_suggestions_with_style(__binding_0,
crate::fluent_generated::_subdiag::suggestion, __code_133,
rustc_errors::Applicability::MachineApplicable,
rustc_errors::SuggestionStyle::HideCodeInline);
diag
}
};
}
}
};LintDiagnostic)]
3254#[diag(lint_doc_unknown_spotlight)]
3255#[note]
3256#[note(lint_no_op_note)]
3257pub(crate) struct DocUnknownSpotlight {
3258 #[suggestion(style = "short", applicability = "machine-applicable", code = "notable_trait")]
3259 pub sugg_span: Span,
3260}
3261
3262#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for DocUnknownPasses
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocUnknownPasses { name: __binding_0, note_span: __binding_1
} => {
diag.primary_message(crate::fluent_generated::lint_doc_unknown_passes);
diag.note(crate::fluent_generated::_subdiag::note);
diag.note(crate::fluent_generated::lint_no_op_note);
;
diag.arg("name", __binding_0);
diag.span_label(__binding_1,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
3263#[diag(lint_doc_unknown_passes)]
3264#[note]
3265#[note(lint_no_op_note)]
3266pub(crate) struct DocUnknownPasses {
3267 pub name: Symbol,
3268 #[label]
3269 pub note_span: Span,
3270}
3271
3272#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocUnknownPlugins {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocUnknownPlugins { label_span: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_doc_unknown_plugins);
diag.note(crate::fluent_generated::_subdiag::note);
diag.note(crate::fluent_generated::lint_no_op_note);
;
diag.span_label(__binding_0,
crate::fluent_generated::_subdiag::label);
diag
}
};
}
}
};LintDiagnostic)]
3273#[diag(lint_doc_unknown_plugins)]
3274#[note]
3275#[note(lint_no_op_note)]
3276pub(crate) struct DocUnknownPlugins {
3277 #[label]
3278 pub label_span: Span,
3279}
3280
3281#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for DocUnknownAny {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocUnknownAny { name: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_doc_unknown_any);
;
diag.arg("name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
3282#[diag(lint_doc_unknown_any)]
3283pub(crate) struct DocUnknownAny {
3284 pub name: Symbol,
3285}
3286
3287#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DocAutoCfgWrongLiteral {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocAutoCfgWrongLiteral => {
diag.primary_message(crate::fluent_generated::lint_doc_auto_cfg_wrong_literal);
;
diag
}
};
}
}
};LintDiagnostic)]
3288#[diag(lint_doc_auto_cfg_wrong_literal)]
3289pub(crate) struct DocAutoCfgWrongLiteral;
3290
3291#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for DocTestTakesList
{
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocTestTakesList => {
diag.primary_message(crate::fluent_generated::lint_doc_test_takes_list);
;
diag
}
};
}
}
};LintDiagnostic)]
3292#[diag(lint_doc_test_takes_list)]
3293pub(crate) struct DocTestTakesList;
3294
3295#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for DocTestUnknown {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocTestUnknown { name: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_doc_test_unknown);
;
diag.arg("name", __binding_0);
diag
}
};
}
}
};LintDiagnostic)]
3296#[diag(lint_doc_test_unknown)]
3297pub(crate) struct DocTestUnknown {
3298 pub name: Symbol,
3299}
3300
3301#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for DocTestLiteral {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DocTestLiteral => {
diag.primary_message(crate::fluent_generated::lint_doc_test_literal);
;
diag
}
};
}
}
};LintDiagnostic)]
3302#[diag(lint_doc_test_literal)]
3303pub(crate) struct DocTestLiteral;
3304
3305#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
AttrCrateLevelOnly {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
AttrCrateLevelOnly => {
diag.primary_message(crate::fluent_generated::lint_attr_crate_level);
diag.note(crate::fluent_generated::_subdiag::note);
;
diag
}
};
}
}
};LintDiagnostic)]
3306#[diag(lint_attr_crate_level)]
3307#[note]
3308pub(crate) struct AttrCrateLevelOnly;
3309
3310#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
DoNotRecommendDoesNotExpectArgs {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
DoNotRecommendDoesNotExpectArgs => {
diag.primary_message(crate::fluent_generated::lint_incorrect_do_not_recommend_args);
;
diag
}
};
}
}
};LintDiagnostic)]
3311#[diag(lint_incorrect_do_not_recommend_args)]
3312pub(crate) struct DoNotRecommendDoesNotExpectArgs;
3313
3314#[derive(const _: () =
{
impl<'__a> rustc_errors::LintDiagnostic<'__a, ()> for
UnknownCrateTypes {
#[track_caller]
fn decorate_lint<'__b>(self,
diag: &'__b mut rustc_errors::Diag<'__a, ()>) {
match self {
UnknownCrateTypes { sugg: __binding_0 } => {
diag.primary_message(crate::fluent_generated::lint_invalid_crate_type_value);
;
if let Some(__binding_0) = __binding_0 {
diag.subdiagnostic(__binding_0);
}
diag
}
};
}
}
};LintDiagnostic)]
3315#[diag(lint_invalid_crate_type_value)]
3316pub(crate) struct UnknownCrateTypes {
3317 #[subdiagnostic]
3318 pub sugg: Option<UnknownCrateTypesSuggestion>,
3319}
3320
3321#[derive(const _: () =
{
impl rustc_errors::Subdiagnostic for UnknownCrateTypesSuggestion {
fn add_to_diag<__G>(self, diag: &mut rustc_errors::Diag<'_, __G>)
where __G: rustc_errors::EmissionGuarantee {
match self {
UnknownCrateTypesSuggestion {
span: __binding_0, snippet: __binding_1 } => {
let __code_134 =
[::alloc::__export::must_use({
::alloc::fmt::format(format_args!("\"{0}\"", __binding_1))
})].into_iter();
diag.store_args();
diag.arg("snippet", __binding_1);
let __message =
diag.eagerly_translate(crate::fluent_generated::lint_suggestion);
diag.span_suggestions_with_style(__binding_0, __message,
__code_134, rustc_errors::Applicability::MaybeIncorrect,
rustc_errors::SuggestionStyle::ShowCode);
diag.restore_args();
}
}
}
}
};Subdiagnostic)]
3322#[suggestion(lint_suggestion, code = r#""{snippet}""#, applicability = "maybe-incorrect")]
3323pub(crate) struct UnknownCrateTypesSuggestion {
3324 #[primary_span]
3325 pub span: Span,
3326 pub snippet: Symbol,
3327}