rustc_lint/
lib.rs

1//! Lints, aka compiler warnings.
2//!
3//! A 'lint' check is a kind of miscellaneous constraint that a user _might_
4//! want to enforce, but might reasonably want to permit as well, on a
5//! module-by-module basis. They contrast with static constraints enforced by
6//! other phases of the compiler, which are generally required to hold in order
7//! to compile the program at all.
8//!
9//! Most lints can be written as [`LintPass`] instances. These run after
10//! all other analyses. The `LintPass`es built into rustc are defined
11//! within [rustc_session::lint::builtin],
12//! which has further comments on how to add such a lint.
13//! rustc can also load external lint plugins, as is done for Clippy.
14//!
15//! See <https://rustc-dev-guide.rust-lang.org/diagnostics.html> for an
16//! overview of how lints are implemented.
17//!
18//! ## Note
19//!
20//! This API is completely unstable and subject to change.
21
22// tidy-alphabetical-start
23#![allow(internal_features)]
24#![cfg_attr(bootstrap, feature(array_windows))]
25#![feature(assert_matches)]
26#![feature(box_patterns)]
27#![feature(if_let_guard)]
28#![feature(iter_order_by)]
29#![feature(rustc_attrs)]
30#![feature(try_blocks)]
31// tidy-alphabetical-end
32
33mod async_closures;
34mod async_fn_in_trait;
35mod autorefs;
36pub mod builtin;
37mod context;
38mod dangling;
39mod default_could_be_derived;
40mod deref_into_dyn_supertrait;
41mod drop_forget_useless;
42mod early;
43mod enum_intrinsics_non_enums;
44mod errors;
45mod expect;
46mod for_loops_over_fallibles;
47mod foreign_modules;
48mod function_cast_as_integer;
49mod gpukernel_abi;
50mod if_let_rescope;
51mod impl_trait_overcaptures;
52mod interior_mutable_consts;
53mod internal;
54mod invalid_from_utf8;
55mod late;
56mod let_underscore;
57mod levels;
58pub mod lifetime_syntax;
59mod lints;
60mod macro_expr_fragment_specifier_2024_migration;
61mod map_unit_fn;
62mod multiple_supertrait_upcastable;
63mod non_ascii_idents;
64mod non_fmt_panic;
65mod non_local_def;
66mod nonstandard_style;
67mod noop_method_call;
68mod opaque_hidden_inferred_bound;
69mod pass_by_value;
70mod passes;
71mod precedence;
72mod ptr_nulls;
73mod redundant_semicolon;
74mod reference_casting;
75mod shadowed_into_iter;
76mod static_mut_refs;
77mod traits;
78mod transmute;
79mod types;
80mod unit_bindings;
81mod unqualified_local_imports;
82mod unused;
83mod utils;
84
85use async_closures::AsyncClosureUsage;
86use async_fn_in_trait::AsyncFnInTrait;
87use autorefs::*;
88use builtin::*;
89use dangling::*;
90use default_could_be_derived::DefaultCouldBeDerived;
91use deref_into_dyn_supertrait::*;
92use drop_forget_useless::*;
93use enum_intrinsics_non_enums::EnumIntrinsicsNonEnums;
94use for_loops_over_fallibles::*;
95use function_cast_as_integer::*;
96use gpukernel_abi::*;
97use if_let_rescope::IfLetRescope;
98use impl_trait_overcaptures::ImplTraitOvercaptures;
99use interior_mutable_consts::*;
100use internal::*;
101use invalid_from_utf8::*;
102use let_underscore::*;
103use lifetime_syntax::*;
104use macro_expr_fragment_specifier_2024_migration::*;
105use map_unit_fn::*;
106use multiple_supertrait_upcastable::*;
107use non_ascii_idents::*;
108use non_fmt_panic::NonPanicFmt;
109use non_local_def::*;
110use nonstandard_style::*;
111use noop_method_call::*;
112use opaque_hidden_inferred_bound::*;
113use pass_by_value::*;
114use precedence::*;
115use ptr_nulls::*;
116use redundant_semicolon::*;
117use reference_casting::*;
118use rustc_hir::def_id::LocalModDefId;
119use rustc_middle::query::Providers;
120use rustc_middle::ty::TyCtxt;
121use shadowed_into_iter::ShadowedIntoIter;
122pub use shadowed_into_iter::{ARRAY_INTO_ITER, BOXED_SLICE_INTO_ITER};
123use static_mut_refs::*;
124use traits::*;
125use transmute::CheckTransmutes;
126use types::*;
127use unit_bindings::*;
128use unqualified_local_imports::*;
129use unused::*;
130
131#[rustfmt::skip]
132pub use builtin::{MissingDoc, SoftLints};
133pub use context::{CheckLintNameResult, EarlyContext, LateContext, LintContext, LintStore};
134pub use early::diagnostics::{decorate_attribute_lint, decorate_builtin_lint};
135pub use early::{EarlyCheckNode, check_ast_node};
136pub use late::{check_crate, late_lint_mod, unerased_lint_store};
137pub use levels::LintLevelsBuilder;
138pub use passes::{EarlyLintPass, LateLintPass};
139pub use rustc_errors::BufferedEarlyLint;
140pub use rustc_session::lint::Level::{self, *};
141pub use rustc_session::lint::{FutureIncompatibleInfo, Lint, LintId, LintPass, LintVec};
142
143#[allow(non_upper_case_globals)]
#[doc(hidden)]
#[doc =
r" Auto-generated constants for type-checked references to Fluent messages."]
pub(crate) mod fluent_generated {
    #[doc =
    "Constant referring to Fluent message `lint_abs_path_with_module` from `lint`"]
    pub const lint_abs_path_with_module: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_abs_path_with_module"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_abs_path_with_module.suggestion` from `lint`"]
    pub const lint_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_glob_reexport` from `lint`"]
    pub const lint_ambiguous_glob_reexport: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ambiguous_glob_reexport"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_glob_reexport.label_first_reexport` from `lint`"]
    pub const lint_label_first_reexport: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_first_reexport"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_glob_reexport.label_duplicate_reexport` from `lint`"]
    pub const lint_label_duplicate_reexport: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_duplicate_reexport"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_negative_literals` from `lint`"]
    pub const lint_ambiguous_negative_literals: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ambiguous_negative_literals"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_negative_literals.example` from `lint`"]
    pub const lint_example: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("example"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_negative_literals.negative_literal` from `lint`"]
    pub const lint_negative_literal: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("negative_literal"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_negative_literals.current_behavior` from `lint`"]
    pub const lint_current_behavior: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("current_behavior"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_wide_pointer_comparisons` from `lint`"]
    pub const lint_ambiguous_wide_pointer_comparisons:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ambiguous_wide_pointer_comparisons"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_wide_pointer_comparisons.addr_metadata_suggestion` from `lint`"]
    pub const lint_addr_metadata_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("addr_metadata_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_wide_pointer_comparisons.addr_suggestion` from `lint`"]
    pub const lint_addr_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("addr_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_wide_pointer_comparisons.cast_suggestion` from `lint`"]
    pub const lint_cast_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("cast_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_ambiguous_wide_pointer_comparisons.expect_suggestion` from `lint`"]
    pub const lint_expect_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("expect_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_associated_const_elided_lifetime` from `lint`"]
    pub const lint_associated_const_elided_lifetime: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_associated_const_elided_lifetime"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_associated_const_elided_lifetime.note` from `lint`"]
    pub const lint_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note"));
    #[doc =
    "Constant referring to Fluent message `lint_async_fn_in_trait` from `lint`"]
    pub const lint_async_fn_in_trait: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_async_fn_in_trait"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_atomic_ordering_fence` from `lint`"]
    pub const lint_atomic_ordering_fence: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_atomic_ordering_fence"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_atomic_ordering_fence.help` from `lint`"]
    pub const lint_help: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help"));
    #[doc =
    "Constant referring to Fluent message `lint_atomic_ordering_invalid` from `lint`"]
    pub const lint_atomic_ordering_invalid: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_atomic_ordering_invalid"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_atomic_ordering_invalid.label` from `lint`"]
    pub const lint_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label"));
    #[doc =
    "Constant referring to Fluent message `lint_atomic_ordering_load` from `lint`"]
    pub const lint_atomic_ordering_load: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_atomic_ordering_load"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_atomic_ordering_store` from `lint`"]
    pub const lint_atomic_ordering_store: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_atomic_ordering_store"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_attr_crate_level` from `lint`"]
    pub const lint_attr_crate_level: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_attr_crate_level"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_bad_attribute_argument` from `lint`"]
    pub const lint_bad_attribute_argument: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_bad_attribute_argument"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_bad_opt_access` from `lint`"]
    pub const lint_bad_opt_access: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_bad_opt_access"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_break_with_label_and_loop` from `lint`"]
    pub const lint_break_with_label_and_loop: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_break_with_label_and_loop"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_allow_internal_unsafe` from `lint`"]
    pub const lint_builtin_allow_internal_unsafe: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_allow_internal_unsafe"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_anonymous_params` from `lint`"]
    pub const lint_builtin_anonymous_params: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_anonymous_params"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_clashing_extern_diff_name` from `lint`"]
    pub const lint_builtin_clashing_extern_diff_name:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_clashing_extern_diff_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_clashing_extern_diff_name.previous_decl_label` from `lint`"]
    pub const lint_previous_decl_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("previous_decl_label"));
    #[doc =
    "Constant referring to Fluent message `lint_builtin_clashing_extern_diff_name.mismatch_label` from `lint`"]
    pub const lint_mismatch_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("mismatch_label"));
    #[doc =
    "Constant referring to Fluent message `lint_builtin_clashing_extern_same_name` from `lint`"]
    pub const lint_builtin_clashing_extern_same_name:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_clashing_extern_same_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_const_no_mangle` from `lint`"]
    pub const lint_builtin_const_no_mangle: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_const_no_mangle"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_decl_unsafe_fn` from `lint`"]
    pub const lint_builtin_decl_unsafe_fn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_decl_unsafe_fn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_decl_unsafe_method` from `lint`"]
    pub const lint_builtin_decl_unsafe_method: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_decl_unsafe_method"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_deref_nullptr` from `lint`"]
    pub const lint_builtin_deref_nullptr: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_deref_nullptr"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_double_negations` from `lint`"]
    pub const lint_builtin_double_negations: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_double_negations"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_double_negations.note_decrement` from `lint`"]
    pub const lint_note_decrement: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_decrement"));
    #[doc =
    "Constant referring to Fluent message `lint_builtin_double_negations.add_parens_suggestion` from `lint`"]
    pub const lint_add_parens_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("add_parens_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_builtin_ellipsis_inclusive_range_patterns` from `lint`"]
    pub const lint_builtin_ellipsis_inclusive_range_patterns:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_ellipsis_inclusive_range_patterns"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_explicit_outlives` from `lint`"]
    pub const lint_builtin_explicit_outlives: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_explicit_outlives"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_export_name_fn` from `lint`"]
    pub const lint_builtin_export_name_fn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_export_name_fn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_export_name_method` from `lint`"]
    pub const lint_builtin_export_name_method: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_export_name_method"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_export_name_static` from `lint`"]
    pub const lint_builtin_export_name_static: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_export_name_static"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_global_asm` from `lint`"]
    pub const lint_builtin_global_asm: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_global_asm"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_global_macro_unsafety` from `lint`"]
    pub const lint_builtin_global_macro_unsafety: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_global_macro_unsafety"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_impl_unsafe_method` from `lint`"]
    pub const lint_builtin_impl_unsafe_method: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_impl_unsafe_method"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_incomplete_features` from `lint`"]
    pub const lint_builtin_incomplete_features: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_incomplete_features"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_internal_features` from `lint`"]
    pub const lint_builtin_internal_features: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_internal_features"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_keyword_idents` from `lint`"]
    pub const lint_builtin_keyword_idents: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_keyword_idents"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_link_section_fn` from `lint`"]
    pub const lint_builtin_link_section_fn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_link_section_fn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_link_section_static` from `lint`"]
    pub const lint_builtin_link_section_static: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_link_section_static"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_missing_copy_impl` from `lint`"]
    pub const lint_builtin_missing_copy_impl: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_missing_copy_impl"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_missing_debug_impl` from `lint`"]
    pub const lint_builtin_missing_debug_impl: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_missing_debug_impl"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_missing_doc` from `lint`"]
    pub const lint_builtin_missing_doc: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_missing_doc"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_mutable_transmutes` from `lint`"]
    pub const lint_builtin_mutable_transmutes: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_mutable_transmutes"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_no_mangle_fn` from `lint`"]
    pub const lint_builtin_no_mangle_fn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_no_mangle_fn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_no_mangle_generic` from `lint`"]
    pub const lint_builtin_no_mangle_generic: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_no_mangle_generic"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_no_mangle_method` from `lint`"]
    pub const lint_builtin_no_mangle_method: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_no_mangle_method"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_no_mangle_static` from `lint`"]
    pub const lint_builtin_no_mangle_static: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_no_mangle_static"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_non_shorthand_field_patterns` from `lint`"]
    pub const lint_builtin_non_shorthand_field_patterns:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_non_shorthand_field_patterns"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_overridden_symbol_name` from `lint`"]
    pub const lint_builtin_overridden_symbol_name: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_overridden_symbol_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_overridden_symbol_section` from `lint`"]
    pub const lint_builtin_overridden_symbol_section:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_overridden_symbol_section"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_special_module_name_used_lib` from `lint`"]
    pub const lint_builtin_special_module_name_used_lib:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_special_module_name_used_lib"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_special_module_name_used_main` from `lint`"]
    pub const lint_builtin_special_module_name_used_main:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_special_module_name_used_main"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_trivial_bounds` from `lint`"]
    pub const lint_builtin_trivial_bounds: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_trivial_bounds"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_type_alias_bounds_enable_feat_help` from `lint`"]
    pub const lint_builtin_type_alias_bounds_enable_feat_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_type_alias_bounds_enable_feat_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_type_alias_bounds_label` from `lint`"]
    pub const lint_builtin_type_alias_bounds_label: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_type_alias_bounds_label"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_type_alias_bounds_limitation_note` from `lint`"]
    pub const lint_builtin_type_alias_bounds_limitation_note:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_type_alias_bounds_limitation_note"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_type_alias_bounds_param_bounds` from `lint`"]
    pub const lint_builtin_type_alias_bounds_param_bounds:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_type_alias_bounds_param_bounds"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_type_alias_bounds_qualify_assoc_tys_sugg` from `lint`"]
    pub const lint_builtin_type_alias_bounds_qualify_assoc_tys_sugg:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_type_alias_bounds_qualify_assoc_tys_sugg"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_type_alias_bounds_where_clause` from `lint`"]
    pub const lint_builtin_type_alias_bounds_where_clause:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_type_alias_bounds_where_clause"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unpermitted_type_init_label` from `lint`"]
    pub const lint_builtin_unpermitted_type_init_label:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unpermitted_type_init_label"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unpermitted_type_init_label_suggestion` from `lint`"]
    pub const lint_builtin_unpermitted_type_init_label_suggestion:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unpermitted_type_init_label_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unpermitted_type_init_uninit` from `lint`"]
    pub const lint_builtin_unpermitted_type_init_uninit:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unpermitted_type_init_uninit"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unpermitted_type_init_zeroed` from `lint`"]
    pub const lint_builtin_unpermitted_type_init_zeroed:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unpermitted_type_init_zeroed"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unreachable_pub` from `lint`"]
    pub const lint_builtin_unreachable_pub: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unreachable_pub"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unsafe_block` from `lint`"]
    pub const lint_builtin_unsafe_block: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unsafe_block"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unsafe_extern_block` from `lint`"]
    pub const lint_builtin_unsafe_extern_block: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unsafe_extern_block"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unsafe_impl` from `lint`"]
    pub const lint_builtin_unsafe_impl: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unsafe_impl"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unsafe_trait` from `lint`"]
    pub const lint_builtin_unsafe_trait: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unsafe_trait"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unstable_features` from `lint`"]
    pub const lint_builtin_unstable_features: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unstable_features"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unused_doc_comment` from `lint`"]
    pub const lint_builtin_unused_doc_comment: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_unused_doc_comment"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unused_doc_comment.plain_help` from `lint`"]
    pub const lint_plain_help: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("plain_help"));
    #[doc =
    "Constant referring to Fluent message `lint_builtin_unused_doc_comment.block_help` from `lint`"]
    pub const lint_block_help: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("block_help"));
    #[doc =
    "Constant referring to Fluent message `lint_builtin_while_true` from `lint`"]
    pub const lint_builtin_while_true: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_builtin_while_true"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_check_name_unknown_tool` from `lint`"]
    pub const lint_check_name_unknown_tool: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_check_name_unknown_tool"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_closure_returning_async_block` from `lint`"]
    pub const lint_closure_returning_async_block: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_closure_returning_async_block"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_command_line_source` from `lint`"]
    pub const lint_command_line_source: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_command_line_source"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_confusable_identifier_pair` from `lint`"]
    pub const lint_confusable_identifier_pair: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_confusable_identifier_pair"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_confusable_identifier_pair.current_use` from `lint`"]
    pub const lint_current_use: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("current_use"));
    #[doc =
    "Constant referring to Fluent message `lint_confusable_identifier_pair.other_use` from `lint`"]
    pub const lint_other_use: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("other_use"));
    #[doc =
    "Constant referring to Fluent message `lint_const_item_interior_mutations` from `lint`"]
    pub const lint_const_item_interior_mutations: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_const_item_interior_mutations"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_const_item_interior_mutations.temporary` from `lint`"]
    pub const lint_temporary: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("temporary"));
    #[doc =
    "Constant referring to Fluent message `lint_const_item_interior_mutations.never_original` from `lint`"]
    pub const lint_never_original: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("never_original"));
    #[doc =
    "Constant referring to Fluent message `lint_const_item_interior_mutations.suggestion_static` from `lint`"]
    pub const lint_suggestion_static: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_static"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_locals` from `lint`"]
    pub const lint_dangling_pointers_from_locals: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_dangling_pointers_from_locals"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_locals.ret_ty` from `lint`"]
    pub const lint_ret_ty: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("ret_ty"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_locals.local_var` from `lint`"]
    pub const lint_local_var: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("local_var"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_locals.created_at` from `lint`"]
    pub const lint_created_at: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("created_at"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_locals.note_safe` from `lint`"]
    pub const lint_note_safe: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_safe"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_locals.note_more_info` from `lint`"]
    pub const lint_note_more_info: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_more_info"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_temporaries` from `lint`"]
    pub const lint_dangling_pointers_from_temporaries:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_dangling_pointers_from_temporaries"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_temporaries.label_ptr` from `lint`"]
    pub const lint_label_ptr: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_ptr"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_temporaries.label_temporary` from `lint`"]
    pub const lint_label_temporary: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_temporary"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_temporaries.help_bind` from `lint`"]
    pub const lint_help_bind: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help_bind"));
    #[doc =
    "Constant referring to Fluent message `lint_dangling_pointers_from_temporaries.note_return` from `lint`"]
    pub const lint_note_return: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_return"));
    #[doc =
    "Constant referring to Fluent message `lint_default_hash_types` from `lint`"]
    pub const lint_default_hash_types: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_default_hash_types"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_default_source` from `lint`"]
    pub const lint_default_source: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_default_source"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_deprecated_lint_name` from `lint`"]
    pub const lint_deprecated_lint_name: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_deprecated_lint_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_deprecated_where_clause_location` from `lint`"]
    pub const lint_deprecated_where_clause_location: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_deprecated_where_clause_location"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_deprecated_where_clause_location.suggestion_move_to_end` from `lint`"]
    pub const lint_suggestion_move_to_end: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_move_to_end"));
    #[doc =
    "Constant referring to Fluent message `lint_deprecated_where_clause_location.suggestion_remove_where` from `lint`"]
    pub const lint_suggestion_remove_where: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_remove_where"));
    #[doc =
    "Constant referring to Fluent message `lint_diag_out_of_impl` from `lint`"]
    pub const lint_diag_out_of_impl: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_diag_out_of_impl"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_alias_duplicated` from `lint`"]
    pub const lint_doc_alias_duplicated: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_alias_duplicated"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_auto_cfg_expects_hide_or_show` from `lint`"]
    pub const lint_doc_auto_cfg_expects_hide_or_show:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_auto_cfg_expects_hide_or_show"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_auto_cfg_hide_show_expects_list` from `lint`"]
    pub const lint_doc_auto_cfg_hide_show_expects_list:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_auto_cfg_hide_show_expects_list"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_auto_cfg_hide_show_unexpected_item` from `lint`"]
    pub const lint_doc_auto_cfg_hide_show_unexpected_item:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_auto_cfg_hide_show_unexpected_item"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_auto_cfg_wrong_literal` from `lint`"]
    pub const lint_doc_auto_cfg_wrong_literal: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_auto_cfg_wrong_literal"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_invalid` from `lint`"]
    pub const lint_doc_invalid: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_invalid"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_test_literal` from `lint`"]
    pub const lint_doc_test_literal: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_test_literal"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_test_takes_list` from `lint`"]
    pub const lint_doc_test_takes_list: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_test_takes_list"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_test_unknown` from `lint`"]
    pub const lint_doc_test_unknown: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_test_unknown"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_unknown_any` from `lint`"]
    pub const lint_doc_unknown_any: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_unknown_any"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_unknown_include` from `lint`"]
    pub const lint_doc_unknown_include: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_unknown_include"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_unknown_passes` from `lint`"]
    pub const lint_doc_unknown_passes: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_unknown_passes"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_unknown_passes.no_op_note` from `lint`"]
    pub const lint_no_op_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("no_op_note"));
    #[doc =
    "Constant referring to Fluent message `lint_doc_unknown_plugins` from `lint`"]
    pub const lint_doc_unknown_plugins: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_unknown_plugins"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_doc_unknown_spotlight` from `lint`"]
    pub const lint_doc_unknown_spotlight: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_doc_unknown_spotlight"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_drop_glue` from `lint`"]
    pub const lint_drop_glue: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_drop_glue"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_drop_trait_constraints` from `lint`"]
    pub const lint_drop_trait_constraints: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_drop_trait_constraints"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_dropping_copy_types` from `lint`"]
    pub const lint_dropping_copy_types: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_dropping_copy_types"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_dropping_references` from `lint`"]
    pub const lint_dropping_references: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_dropping_references"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_empty_attribute` from `lint`"]
    pub const lint_empty_attribute: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_empty_attribute"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_enum_intrinsics_mem_discriminant` from `lint`"]
    pub const lint_enum_intrinsics_mem_discriminant: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_enum_intrinsics_mem_discriminant"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_enum_intrinsics_mem_variant` from `lint`"]
    pub const lint_enum_intrinsics_mem_variant: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_enum_intrinsics_mem_variant"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_expectation` from `lint`"]
    pub const lint_expectation: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_expectation"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_expectation.rationale` from `lint`"]
    pub const lint_rationale: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("rationale"));
    #[doc =
    "Constant referring to Fluent message `lint_for_loops_over_fallibles` from `lint`"]
    pub const lint_for_loops_over_fallibles: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_for_loops_over_fallibles"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_for_loops_over_fallibles.remove_next` from `lint`"]
    pub const lint_remove_next: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("remove_next"));
    #[doc =
    "Constant referring to Fluent message `lint_for_loops_over_fallibles.use_while_let` from `lint`"]
    pub const lint_use_while_let: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("use_while_let"));
    #[doc =
    "Constant referring to Fluent message `lint_for_loops_over_fallibles.use_question_mark` from `lint`"]
    pub const lint_use_question_mark: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("use_question_mark"));
    #[doc =
    "Constant referring to Fluent message `lint_forgetting_copy_types` from `lint`"]
    pub const lint_forgetting_copy_types: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_forgetting_copy_types"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_forgetting_references` from `lint`"]
    pub const lint_forgetting_references: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_forgetting_references"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_function_casts_as_integer` from `lint`"]
    pub const lint_function_casts_as_integer: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_function_casts_as_integer"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_function_casts_as_integer.cast_as_fn` from `lint`"]
    pub const lint_cast_as_fn: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("cast_as_fn"));
    #[doc =
    "Constant referring to Fluent message `lint_hidden_glob_reexport` from `lint`"]
    pub const lint_hidden_glob_reexport: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_hidden_glob_reexport"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_hidden_glob_reexport.note_glob_reexport` from `lint`"]
    pub const lint_note_glob_reexport: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_glob_reexport"));
    #[doc =
    "Constant referring to Fluent message `lint_hidden_glob_reexport.note_private_item` from `lint`"]
    pub const lint_note_private_item: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_private_item"));
    #[doc =
    "Constant referring to Fluent message `lint_hidden_lifetime_parameters` from `lint`"]
    pub const lint_hidden_lifetime_parameters: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_hidden_lifetime_parameters"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_identifier_non_ascii_char` from `lint`"]
    pub const lint_identifier_non_ascii_char: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_identifier_non_ascii_char"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_identifier_uncommon_codepoints` from `lint`"]
    pub const lint_identifier_uncommon_codepoints: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_identifier_uncommon_codepoints"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_if_let_dtor` from `lint`"]
    pub const lint_if_let_dtor: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_if_let_dtor"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_if_let_rescope` from `lint`"]
    pub const lint_if_let_rescope: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_if_let_rescope"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ignored_unless_crate_specified` from `lint`"]
    pub const lint_ignored_unless_crate_specified: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ignored_unless_crate_specified"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ill_formed_attribute_input` from `lint`"]
    pub const lint_ill_formed_attribute_input: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ill_formed_attribute_input"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_impl_trait_overcaptures` from `lint`"]
    pub const lint_impl_trait_overcaptures: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_impl_trait_overcaptures"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_impl_trait_overcaptures.note2` from `lint`"]
    pub const lint_note2: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note2"));
    #[doc =
    "Constant referring to Fluent message `lint_impl_trait_redundant_captures` from `lint`"]
    pub const lint_impl_trait_redundant_captures: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_impl_trait_redundant_captures"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_implicit_sysroot_crate_import` from `lint`"]
    pub const lint_implicit_sysroot_crate_import: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_implicit_sysroot_crate_import"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_implicit_unsafe_autorefs` from `lint`"]
    pub const lint_implicit_unsafe_autorefs: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_implicit_unsafe_autorefs"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_implicit_unsafe_autorefs.raw_ptr` from `lint`"]
    pub const lint_raw_ptr: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("raw_ptr"));
    #[doc =
    "Constant referring to Fluent message `lint_implicit_unsafe_autorefs.autoref` from `lint`"]
    pub const lint_autoref: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("autoref"));
    #[doc =
    "Constant referring to Fluent message `lint_implicit_unsafe_autorefs.overloaded_deref` from `lint`"]
    pub const lint_overloaded_deref: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("overloaded_deref"));
    #[doc =
    "Constant referring to Fluent message `lint_implicit_unsafe_autorefs.method_def` from `lint`"]
    pub const lint_method_def: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("method_def"));
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes` from `lint`"]
    pub const lint_improper_ctypes: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_array_help` from `lint`"]
    pub const lint_improper_ctypes_array_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_array_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_array_reason` from `lint`"]
    pub const lint_improper_ctypes_array_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_array_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_box` from `lint`"]
    pub const lint_improper_ctypes_box: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_box"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_char_help` from `lint`"]
    pub const lint_improper_ctypes_char_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_char_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_char_reason` from `lint`"]
    pub const lint_improper_ctypes_char_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_char_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_cstr_help` from `lint`"]
    pub const lint_improper_ctypes_cstr_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_cstr_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_cstr_reason` from `lint`"]
    pub const lint_improper_ctypes_cstr_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_cstr_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_dyn` from `lint`"]
    pub const lint_improper_ctypes_dyn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_dyn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_enum_repr_help` from `lint`"]
    pub const lint_improper_ctypes_enum_repr_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_enum_repr_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_enum_repr_reason` from `lint`"]
    pub const lint_improper_ctypes_enum_repr_reason: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_enum_repr_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_fnptr_help` from `lint`"]
    pub const lint_improper_ctypes_fnptr_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_fnptr_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_fnptr_reason` from `lint`"]
    pub const lint_improper_ctypes_fnptr_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_fnptr_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_non_exhaustive` from `lint`"]
    pub const lint_improper_ctypes_non_exhaustive: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_non_exhaustive"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_non_exhaustive_variant` from `lint`"]
    pub const lint_improper_ctypes_non_exhaustive_variant:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_non_exhaustive_variant"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_only_phantomdata` from `lint`"]
    pub const lint_improper_ctypes_only_phantomdata: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_only_phantomdata"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_opaque` from `lint`"]
    pub const lint_improper_ctypes_opaque: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_opaque"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_slice_help` from `lint`"]
    pub const lint_improper_ctypes_slice_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_slice_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_slice_reason` from `lint`"]
    pub const lint_improper_ctypes_slice_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_slice_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_str_help` from `lint`"]
    pub const lint_improper_ctypes_str_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_str_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_str_reason` from `lint`"]
    pub const lint_improper_ctypes_str_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_str_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_struct_fieldless_help` from `lint`"]
    pub const lint_improper_ctypes_struct_fieldless_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_struct_fieldless_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_struct_fieldless_reason` from `lint`"]
    pub const lint_improper_ctypes_struct_fieldless_reason:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_struct_fieldless_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_struct_layout_help` from `lint`"]
    pub const lint_improper_ctypes_struct_layout_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_struct_layout_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_struct_layout_reason` from `lint`"]
    pub const lint_improper_ctypes_struct_layout_reason:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_struct_layout_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_struct_non_exhaustive` from `lint`"]
    pub const lint_improper_ctypes_struct_non_exhaustive:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_struct_non_exhaustive"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_struct_zst` from `lint`"]
    pub const lint_improper_ctypes_struct_zst: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_struct_zst"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_tuple_help` from `lint`"]
    pub const lint_improper_ctypes_tuple_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_tuple_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_tuple_reason` from `lint`"]
    pub const lint_improper_ctypes_tuple_reason: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_tuple_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_union_fieldless_help` from `lint`"]
    pub const lint_improper_ctypes_union_fieldless_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_union_fieldless_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_union_fieldless_reason` from `lint`"]
    pub const lint_improper_ctypes_union_fieldless_reason:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_union_fieldless_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_union_layout_help` from `lint`"]
    pub const lint_improper_ctypes_union_layout_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_union_layout_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_union_layout_reason` from `lint`"]
    pub const lint_improper_ctypes_union_layout_reason:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_union_layout_reason"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_union_non_exhaustive` from `lint`"]
    pub const lint_improper_ctypes_union_non_exhaustive:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_union_non_exhaustive"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_ctypes_unsafe_binder` from `lint`"]
    pub const lint_improper_ctypes_unsafe_binder: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_ctypes_unsafe_binder"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_improper_gpu_kernel_arg` from `lint`"]
    pub const lint_improper_gpu_kernel_arg: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_improper_gpu_kernel_arg"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_incorrect_do_not_recommend_args` from `lint`"]
    pub const lint_incorrect_do_not_recommend_args: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_incorrect_do_not_recommend_args"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_int_to_ptr_transmutes` from `lint`"]
    pub const lint_int_to_ptr_transmutes: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_int_to_ptr_transmutes"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_int_to_ptr_transmutes.note_exposed_provenance` from `lint`"]
    pub const lint_note_exposed_provenance: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_exposed_provenance"));
    #[doc =
    "Constant referring to Fluent message `lint_int_to_ptr_transmutes.help_transmute` from `lint`"]
    pub const lint_help_transmute: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help_transmute"));
    #[doc =
    "Constant referring to Fluent message `lint_int_to_ptr_transmutes.help_exposed_provenance` from `lint`"]
    pub const lint_help_exposed_provenance: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help_exposed_provenance"));
    #[doc =
    "Constant referring to Fluent message `lint_int_to_ptr_transmutes.suggestion_with_exposed_provenance` from `lint`"]
    pub const lint_suggestion_with_exposed_provenance:
        rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_with_exposed_provenance"));
    #[doc =
    "Constant referring to Fluent message `lint_int_to_ptr_transmutes.suggestion_without_provenance_mut` from `lint`"]
    pub const lint_suggestion_without_provenance_mut:
        rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_without_provenance_mut"));
    #[doc =
    "Constant referring to Fluent message `lint_invalid_asm_label_binary` from `lint`"]
    pub const lint_invalid_asm_label_binary: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_asm_label_binary"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_asm_label_binary.note1` from `lint`"]
    pub const lint_note1: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note1"));
    #[doc =
    "Constant referring to Fluent message `lint_invalid_asm_label_format_arg` from `lint`"]
    pub const lint_invalid_asm_label_format_arg: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_asm_label_format_arg"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_asm_label_named` from `lint`"]
    pub const lint_invalid_asm_label_named: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_asm_label_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_asm_label_no_span` from `lint`"]
    pub const lint_invalid_asm_label_no_span: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_asm_label_no_span"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_from_utf8_checked` from `lint`"]
    pub const lint_invalid_from_utf8_checked: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_from_utf8_checked"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_from_utf8_unchecked` from `lint`"]
    pub const lint_invalid_from_utf8_unchecked: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_from_utf8_unchecked"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_nan_comparisons_eq_ne` from `lint`"]
    pub const lint_invalid_nan_comparisons_eq_ne: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_nan_comparisons_eq_ne"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_nan_comparisons_lt_le_gt_ge` from `lint`"]
    pub const lint_invalid_nan_comparisons_lt_le_gt_ge:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_nan_comparisons_lt_le_gt_ge"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_null_arguments` from `lint`"]
    pub const lint_invalid_null_arguments: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_null_arguments"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_null_arguments.origin` from `lint`"]
    pub const lint_origin: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("origin"));
    #[doc =
    "Constant referring to Fluent message `lint_invalid_null_arguments.doc` from `lint`"]
    pub const lint_doc: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("doc"));
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_assign_to_ref` from `lint`"]
    pub const lint_invalid_reference_casting_assign_to_ref:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_reference_casting_assign_to_ref"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_bigger_layout` from `lint`"]
    pub const lint_invalid_reference_casting_bigger_layout:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_reference_casting_bigger_layout"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_bigger_layout.alloc` from `lint`"]
    pub const lint_alloc: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("alloc"));
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_bigger_layout.layout` from `lint`"]
    pub const lint_layout: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("layout"));
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_borrow_as_mut` from `lint`"]
    pub const lint_invalid_reference_casting_borrow_as_mut:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_reference_casting_borrow_as_mut"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_note_book` from `lint`"]
    pub const lint_invalid_reference_casting_note_book:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_reference_casting_note_book"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_reference_casting_note_ty_has_interior_mutability` from `lint`"]
    pub const lint_invalid_reference_casting_note_ty_has_interior_mutability:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_reference_casting_note_ty_has_interior_mutability"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_style` from `lint`"]
    pub const lint_invalid_style: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_style"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_target` from `lint`"]
    pub const lint_invalid_target: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_invalid_target"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_invalid_target.warn` from `lint`"]
    pub const lint_warn: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("warn"));
    #[doc =
    "Constant referring to Fluent message `lint_lintpass_by_hand` from `lint`"]
    pub const lint_lintpass_by_hand: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_lintpass_by_hand"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_macro_expr_fragment_specifier_2024_migration` from `lint`"]
    pub const lint_macro_expr_fragment_specifier_2024_migration:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_macro_expr_fragment_specifier_2024_migration"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_malformed_attribute` from `lint`"]
    pub const lint_malformed_attribute: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_malformed_attribute"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_map_unit_fn` from `lint`"]
    pub const lint_map_unit_fn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_map_unit_fn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_map_unit_fn.function_label` from `lint`"]
    pub const lint_function_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("function_label"));
    #[doc =
    "Constant referring to Fluent message `lint_map_unit_fn.argument_label` from `lint`"]
    pub const lint_argument_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("argument_label"));
    #[doc =
    "Constant referring to Fluent message `lint_map_unit_fn.map_label` from `lint`"]
    pub const lint_map_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("map_label"));
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_eliding_while_named` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_eliding_while_named:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_eliding_while_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_help` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_hiding_and_eliding_while_named` from `lint`"]
    pub const
        lint_mismatched_lifetime_syntaxes_hiding_and_eliding_while_named:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_hiding_and_eliding_while_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_hiding_while_elided` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_hiding_while_elided:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_hiding_while_elided"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_hiding_while_named` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_hiding_while_named:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_hiding_while_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_input_elided` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_input_elided:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_input_elided"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_input_hidden` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_input_hidden:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_input_hidden"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_input_named` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_input_named:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_input_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_output_elided` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_output_elided:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_output_elided"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_output_hidden` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_output_hidden:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_output_hidden"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_output_named` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_output_named:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_output_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_suggestion_explicit` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_suggestion_explicit:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_suggestion_explicit"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_suggestion_implicit` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_suggestion_implicit:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_suggestion_implicit"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_suggestion_mixed` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_suggestion_mixed:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_suggestion_mixed"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mismatched_lifetime_syntaxes_suggestion_mixed_only_paths` from `lint`"]
    pub const lint_mismatched_lifetime_syntaxes_suggestion_mixed_only_paths:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mismatched_lifetime_syntaxes_suggestion_mixed_only_paths"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_missing_gpu_kernel_export_name` from `lint`"]
    pub const lint_missing_gpu_kernel_export_name: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_missing_gpu_kernel_export_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mixed_script_confusables` from `lint`"]
    pub const lint_mixed_script_confusables: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_mixed_script_confusables"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_mixed_script_confusables.includes_note` from `lint`"]
    pub const lint_includes_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("includes_note"));
    #[doc =
    "Constant referring to Fluent message `lint_multiple_supertrait_upcastable` from `lint`"]
    pub const lint_multiple_supertrait_upcastable: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_multiple_supertrait_upcastable"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_named_argument_used_positionally` from `lint`"]
    pub const lint_named_argument_used_positionally: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_named_argument_used_positionally"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_named_argument_used_positionally.label_named_arg` from `lint`"]
    pub const lint_label_named_arg: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_named_arg"));
    #[doc =
    "Constant referring to Fluent message `lint_named_argument_used_positionally.label_position_arg` from `lint`"]
    pub const lint_label_position_arg: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_position_arg"));
    #[doc =
    "Constant referring to Fluent message `lint_node_source` from `lint`"]
    pub const lint_node_source: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_node_source"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_binding_let_multi_drop_fn` from `lint`"]
    pub const lint_non_binding_let_multi_drop_fn: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_binding_let_multi_drop_fn"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_binding_let_multi_suggestion` from `lint`"]
    pub const lint_non_binding_let_multi_suggestion: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_binding_let_multi_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_binding_let_on_drop_type` from `lint`"]
    pub const lint_non_binding_let_on_drop_type: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_binding_let_on_drop_type"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_binding_let_on_sync_lock` from `lint`"]
    pub const lint_non_binding_let_on_sync_lock: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_binding_let_on_sync_lock"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_binding_let_suggestion` from `lint`"]
    pub const lint_non_binding_let_suggestion: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_binding_let_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_camel_case_type` from `lint`"]
    pub const lint_non_camel_case_type: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_camel_case_type"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic` from `lint`"]
    pub const lint_non_fmt_panic: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_fmt_panic"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic.more_info_note` from `lint`"]
    pub const lint_more_info_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("more_info_note"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic.supports_fmt_note` from `lint`"]
    pub const lint_supports_fmt_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("supports_fmt_note"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic.supports_fmt_suggestion` from `lint`"]
    pub const lint_supports_fmt_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("supports_fmt_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic.display_suggestion` from `lint`"]
    pub const lint_display_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("display_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic.debug_suggestion` from `lint`"]
    pub const lint_debug_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("debug_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic.panic_suggestion` from `lint`"]
    pub const lint_panic_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("panic_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic_braces` from `lint`"]
    pub const lint_non_fmt_panic_braces: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_fmt_panic_braces"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic_unused` from `lint`"]
    pub const lint_non_fmt_panic_unused: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_fmt_panic_unused"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic_unused.add_args_suggestion` from `lint`"]
    pub const lint_add_args_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("add_args_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_fmt_panic_unused.add_fmt_suggestion` from `lint`"]
    pub const lint_add_fmt_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("add_fmt_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_glob_import_type_ir_inherent` from `lint`"]
    pub const lint_non_glob_import_type_ir_inherent: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_glob_import_type_ir_inherent"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_cargo_update` from `lint`"]
    pub const lint_non_local_definitions_cargo_update:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_local_definitions_cargo_update"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl` from `lint`"]
    pub const lint_non_local_definitions_impl: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_local_definitions_impl"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl.non_local` from `lint`"]
    pub const lint_non_local: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("non_local"));
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl.doctest` from `lint`"]
    pub const lint_doctest: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("doctest"));
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl.exception` from `lint`"]
    pub const lint_exception: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("exception"));
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl.const_anon` from `lint`"]
    pub const lint_const_anon: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("const_anon"));
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl.macro_to_change` from `lint`"]
    pub const lint_macro_to_change: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("macro_to_change"));
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_impl_move_help` from `lint`"]
    pub const lint_non_local_definitions_impl_move_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_local_definitions_impl_move_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_macro_rules` from `lint`"]
    pub const lint_non_local_definitions_macro_rules:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_local_definitions_macro_rules"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_local_definitions_macro_rules.help_doctest` from `lint`"]
    pub const lint_help_doctest: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help_doctest"));
    #[doc =
    "Constant referring to Fluent message `lint_non_snake_case` from `lint`"]
    pub const lint_non_snake_case: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_snake_case"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_non_snake_case.rename_or_convert_suggestion` from `lint`"]
    pub const lint_rename_or_convert_suggestion: rustc_errors::SubdiagMessage
        =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("rename_or_convert_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_snake_case.cannot_convert_note` from `lint`"]
    pub const lint_cannot_convert_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("cannot_convert_note"));
    #[doc =
    "Constant referring to Fluent message `lint_non_snake_case.rename_suggestion` from `lint`"]
    pub const lint_rename_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("rename_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_snake_case.convert_suggestion` from `lint`"]
    pub const lint_convert_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("convert_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_non_upper_case_global` from `lint`"]
    pub const lint_non_upper_case_global: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_non_upper_case_global"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_noop_method_call` from `lint`"]
    pub const lint_noop_method_call: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_noop_method_call"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_noop_method_call.derive_suggestion` from `lint`"]
    pub const lint_derive_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("derive_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_only_cast_u8_to_char` from `lint`"]
    pub const lint_only_cast_u8_to_char: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_only_cast_u8_to_char"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_opaque_hidden_inferred_bound` from `lint`"]
    pub const lint_opaque_hidden_inferred_bound: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_opaque_hidden_inferred_bound"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_opaque_hidden_inferred_bound.specifically` from `lint`"]
    pub const lint_specifically: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("specifically"));
    #[doc =
    "Constant referring to Fluent message `lint_opaque_hidden_inferred_bound_sugg` from `lint`"]
    pub const lint_opaque_hidden_inferred_bound_sugg:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_opaque_hidden_inferred_bound_sugg"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_bin_hex` from `lint`"]
    pub const lint_overflowing_bin_hex: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_overflowing_bin_hex"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_bin_hex.negative_note` from `lint`"]
    pub const lint_negative_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("negative_note"));
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_bin_hex.negative_becomes_note` from `lint`"]
    pub const lint_negative_becomes_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("negative_becomes_note"));
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_bin_hex.positive_note` from `lint`"]
    pub const lint_positive_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("positive_note"));
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_bin_hex.sign_bit_suggestion` from `lint`"]
    pub const lint_sign_bit_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("sign_bit_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_int` from `lint`"]
    pub const lint_overflowing_int: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_overflowing_int"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_literal` from `lint`"]
    pub const lint_overflowing_literal: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_overflowing_literal"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_overflowing_uint` from `lint`"]
    pub const lint_overflowing_uint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_overflowing_uint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_overruled_attribute` from `lint`"]
    pub const lint_overruled_attribute: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_overruled_attribute"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_pass_by_value` from `lint`"]
    pub const lint_pass_by_value: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_pass_by_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_path_statement_drop` from `lint`"]
    pub const lint_path_statement_drop: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_path_statement_drop"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_path_statement_no_effect` from `lint`"]
    pub const lint_path_statement_no_effect: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_path_statement_no_effect"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_pattern_in_bodiless` from `lint`"]
    pub const lint_pattern_in_bodiless: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_pattern_in_bodiless"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_pattern_in_foreign` from `lint`"]
    pub const lint_pattern_in_foreign: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_pattern_in_foreign"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_query_instability` from `lint`"]
    pub const lint_query_instability: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_query_instability"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_query_untracked` from `lint`"]
    pub const lint_query_untracked: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_query_untracked"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_range_endpoint_out_of_range` from `lint`"]
    pub const lint_range_endpoint_out_of_range: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_range_endpoint_out_of_range"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_range_use_inclusive_range` from `lint`"]
    pub const lint_range_use_inclusive_range: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_range_use_inclusive_range"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_raw_prefix` from `lint`"]
    pub const lint_raw_prefix: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_raw_prefix"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_reason_must_be_string_literal` from `lint`"]
    pub const lint_reason_must_be_string_literal: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_reason_must_be_string_literal"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_reason_must_come_last` from `lint`"]
    pub const lint_reason_must_come_last: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_reason_must_come_last"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_redundant_import` from `lint`"]
    pub const lint_redundant_import: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_redundant_import"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_redundant_import.label_imported_here` from `lint`"]
    pub const lint_label_imported_here: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_imported_here"));
    #[doc =
    "Constant referring to Fluent message `lint_redundant_import.label_defined_here` from `lint`"]
    pub const lint_label_defined_here: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_defined_here"));
    #[doc =
    "Constant referring to Fluent message `lint_redundant_import.label_imported_prelude` from `lint`"]
    pub const lint_label_imported_prelude: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_imported_prelude"));
    #[doc =
    "Constant referring to Fluent message `lint_redundant_import.label_defined_prelude` from `lint`"]
    pub const lint_label_defined_prelude: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_defined_prelude"));
    #[doc =
    "Constant referring to Fluent message `lint_redundant_semicolons` from `lint`"]
    pub const lint_redundant_semicolons: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_redundant_semicolons"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_redundant_semicolons_suggestion` from `lint`"]
    pub const lint_redundant_semicolons_suggestion: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_redundant_semicolons_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_remove_mut_from_pattern` from `lint`"]
    pub const lint_remove_mut_from_pattern: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_remove_mut_from_pattern"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_removed_lint` from `lint`"]
    pub const lint_removed_lint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_removed_lint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_renamed_lint` from `lint`"]
    pub const lint_renamed_lint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_renamed_lint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_requested_level` from `lint`"]
    pub const lint_requested_level: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_requested_level"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_reserved_multihash` from `lint`"]
    pub const lint_reserved_multihash: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_reserved_multihash"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_reserved_prefix` from `lint`"]
    pub const lint_reserved_prefix: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_reserved_prefix"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_reserved_string` from `lint`"]
    pub const lint_reserved_string: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_reserved_string"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_shadowed_into_iter` from `lint`"]
    pub const lint_shadowed_into_iter: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_shadowed_into_iter"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_shadowed_into_iter.use_iter_suggestion` from `lint`"]
    pub const lint_use_iter_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("use_iter_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_shadowed_into_iter.remove_into_iter_suggestion` from `lint`"]
    pub const lint_remove_into_iter_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("remove_into_iter_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_shadowed_into_iter.use_explicit_into_iter_suggestion` from `lint`"]
    pub const lint_use_explicit_into_iter_suggestion:
        rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("use_explicit_into_iter_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_single_use_lifetime` from `lint`"]
    pub const lint_single_use_lifetime: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_single_use_lifetime"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_single_use_lifetime.label_param` from `lint`"]
    pub const lint_label_param: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_param"));
    #[doc =
    "Constant referring to Fluent message `lint_single_use_lifetime.label_use` from `lint`"]
    pub const lint_label_use: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_use"));
    #[doc =
    "Constant referring to Fluent message `lint_span_use_eq_ctxt` from `lint`"]
    pub const lint_span_use_eq_ctxt: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_span_use_eq_ctxt"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_static_mut_refs_lint` from `lint`"]
    pub const lint_static_mut_refs_lint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_static_mut_refs_lint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_static_mut_refs_lint.suggestion_mut` from `lint`"]
    pub const lint_suggestion_mut: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_mut"));
    #[doc =
    "Constant referring to Fluent message `lint_static_mut_refs_lint.shared_note` from `lint`"]
    pub const lint_shared_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("shared_note"));
    #[doc =
    "Constant referring to Fluent message `lint_static_mut_refs_lint.mut_note` from `lint`"]
    pub const lint_mut_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("mut_note"));
    #[doc =
    "Constant referring to Fluent message `lint_supertrait_as_deref_target` from `lint`"]
    pub const lint_supertrait_as_deref_target: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_supertrait_as_deref_target"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_supertrait_as_deref_target.label2` from `lint`"]
    pub const lint_label2: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label2"));
    #[doc =
    "Constant referring to Fluent message `lint_surrogate_char_cast` from `lint`"]
    pub const lint_surrogate_char_cast: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_surrogate_char_cast"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_suspicious_double_ref_clone` from `lint`"]
    pub const lint_suspicious_double_ref_clone: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_suspicious_double_ref_clone"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_suspicious_double_ref_deref` from `lint`"]
    pub const lint_suspicious_double_ref_deref: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_suspicious_double_ref_deref"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_symbol_intern_string_literal` from `lint`"]
    pub const lint_symbol_intern_string_literal: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_symbol_intern_string_literal"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_too_large_char_cast` from `lint`"]
    pub const lint_too_large_char_cast: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_too_large_char_cast"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ty_qualified` from `lint`"]
    pub const lint_ty_qualified: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ty_qualified"),
            None);
    #[doc = "Constant referring to Fluent message `lint_tykind` from `lint`"]
    pub const lint_tykind: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_tykind"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_tykind_kind` from `lint`"]
    pub const lint_tykind_kind: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_tykind_kind"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_type_ir_direct_use` from `lint`"]
    pub const lint_type_ir_direct_use: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_type_ir_direct_use"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_type_ir_inherent_usage` from `lint`"]
    pub const lint_type_ir_inherent_usage: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_type_ir_inherent_usage"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_type_ir_trait_usage` from `lint`"]
    pub const lint_type_ir_trait_usage: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_type_ir_trait_usage"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_undefined_transmute` from `lint`"]
    pub const lint_undefined_transmute: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_undefined_transmute"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_undropped_manually_drops` from `lint`"]
    pub const lint_undropped_manually_drops: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_undropped_manually_drops"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_add_build_rs_println` from `lint`"]
    pub const lint_unexpected_cfg_add_build_rs_println:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_add_build_rs_println"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_add_cargo_feature` from `lint`"]
    pub const lint_unexpected_cfg_add_cargo_feature: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_add_cargo_feature"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_add_cargo_toml_lint_cfg` from `lint`"]
    pub const lint_unexpected_cfg_add_cargo_toml_lint_cfg:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_add_cargo_toml_lint_cfg"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_add_cmdline_arg` from `lint`"]
    pub const lint_unexpected_cfg_add_cmdline_arg: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_add_cmdline_arg"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_boolean` from `lint`"]
    pub const lint_unexpected_cfg_boolean: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_boolean"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_cargo_update` from `lint`"]
    pub const lint_unexpected_cfg_cargo_update: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_cargo_update"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_define_features` from `lint`"]
    pub const lint_unexpected_cfg_define_features: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_define_features"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_doc_cargo` from `lint`"]
    pub const lint_unexpected_cfg_doc_cargo: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_doc_cargo"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_doc_rustc` from `lint`"]
    pub const lint_unexpected_cfg_doc_rustc: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_doc_rustc"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_from_external_macro_origin` from `lint`"]
    pub const lint_unexpected_cfg_from_external_macro_origin:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_from_external_macro_origin"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_from_external_macro_refer` from `lint`"]
    pub const lint_unexpected_cfg_from_external_macro_refer:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_from_external_macro_refer"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name` from `lint`"]
    pub const lint_unexpected_cfg_name: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_expected_names` from `lint`"]
    pub const lint_unexpected_cfg_name_expected_names:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_expected_names"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_expected_values` from `lint`"]
    pub const lint_unexpected_cfg_name_expected_values:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_expected_values"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_similar_name` from `lint`"]
    pub const lint_unexpected_cfg_name_similar_name: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_similar_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_similar_name_different_values` from `lint`"]
    pub const lint_unexpected_cfg_name_similar_name_different_values:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_similar_name_different_values"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_similar_name_no_value` from `lint`"]
    pub const lint_unexpected_cfg_name_similar_name_no_value:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_similar_name_no_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_similar_name_value` from `lint`"]
    pub const lint_unexpected_cfg_name_similar_name_value:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_similar_name_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_version_syntax` from `lint`"]
    pub const lint_unexpected_cfg_name_version_syntax:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_version_syntax"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_name_with_similar_value` from `lint`"]
    pub const lint_unexpected_cfg_name_with_similar_value:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_name_with_similar_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value` from `lint`"]
    pub const lint_unexpected_cfg_value: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_add_feature` from `lint`"]
    pub const lint_unexpected_cfg_value_add_feature: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_add_feature"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_expected_values` from `lint`"]
    pub const lint_unexpected_cfg_value_expected_values:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_expected_values"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_no_expected_value` from `lint`"]
    pub const lint_unexpected_cfg_value_no_expected_value:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_no_expected_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_no_expected_values` from `lint`"]
    pub const lint_unexpected_cfg_value_no_expected_values:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_no_expected_values"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_remove_condition` from `lint`"]
    pub const lint_unexpected_cfg_value_remove_condition:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_remove_condition"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_remove_value` from `lint`"]
    pub const lint_unexpected_cfg_value_remove_value:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_remove_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_similar_name` from `lint`"]
    pub const lint_unexpected_cfg_value_similar_name:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_similar_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unexpected_cfg_value_specify_value` from `lint`"]
    pub const lint_unexpected_cfg_value_specify_value:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unexpected_cfg_value_specify_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_ungated_async_fn_track_caller` from `lint`"]
    pub const lint_ungated_async_fn_track_caller: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_ungated_async_fn_track_caller"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unicode_text_flow` from `lint`"]
    pub const lint_unicode_text_flow: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unicode_text_flow"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unicode_text_flow.label_comment_char` from `lint`"]
    pub const lint_label_comment_char: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label_comment_char"));
    #[doc =
    "Constant referring to Fluent message `lint_unit_bindings` from `lint`"]
    pub const lint_unit_bindings: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unit_bindings"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unknown_gated_lint` from `lint`"]
    pub const lint_unknown_gated_lint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unknown_gated_lint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unknown_lint` from `lint`"]
    pub const lint_unknown_lint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unknown_lint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unknown_tool_in_scoped_lint` from `lint`"]
    pub const lint_unknown_tool_in_scoped_lint: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unknown_tool_in_scoped_lint"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unnecessary_qualification` from `lint`"]
    pub const lint_unnecessary_qualification: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unnecessary_qualification"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unpredictable_fn_pointer_comparisons` from `lint`"]
    pub const lint_unpredictable_fn_pointer_comparisons:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unpredictable_fn_pointer_comparisons"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unpredictable_fn_pointer_comparisons.note_duplicated_fn` from `lint`"]
    pub const lint_note_duplicated_fn: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_duplicated_fn"));
    #[doc =
    "Constant referring to Fluent message `lint_unpredictable_fn_pointer_comparisons.note_deduplicated_fn` from `lint`"]
    pub const lint_note_deduplicated_fn: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_deduplicated_fn"));
    #[doc =
    "Constant referring to Fluent message `lint_unpredictable_fn_pointer_comparisons.note_visit_fn_addr_eq` from `lint`"]
    pub const lint_note_visit_fn_addr_eq: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note_visit_fn_addr_eq"));
    #[doc =
    "Constant referring to Fluent message `lint_unpredictable_fn_pointer_comparisons.fn_addr_eq_suggestion` from `lint`"]
    pub const lint_fn_addr_eq_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("fn_addr_eq_suggestion"));
    #[doc =
    "Constant referring to Fluent message `lint_unqualified_local_imports` from `lint`"]
    pub const lint_unqualified_local_imports: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unqualified_local_imports"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unsafe_attr_outside_unsafe` from `lint`"]
    pub const lint_unsafe_attr_outside_unsafe: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unsafe_attr_outside_unsafe"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unsafe_attr_outside_unsafe_suggestion` from `lint`"]
    pub const lint_unsafe_attr_outside_unsafe_suggestion:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unsafe_attr_outside_unsafe_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unsupported_group` from `lint`"]
    pub const lint_unsupported_group: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unsupported_group"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_untranslatable_diag` from `lint`"]
    pub const lint_untranslatable_diag: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_untranslatable_diag"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_allocation` from `lint`"]
    pub const lint_unused_allocation: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_allocation"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_allocation_mut` from `lint`"]
    pub const lint_unused_allocation_mut: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_allocation_mut"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_closure` from `lint`"]
    pub const lint_unused_closure: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_closure"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_comparisons` from `lint`"]
    pub const lint_unused_comparisons: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_comparisons"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_coroutine` from `lint`"]
    pub const lint_unused_coroutine: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_coroutine"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_crate_dependency` from `lint`"]
    pub const lint_unused_crate_dependency: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_crate_dependency"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_def` from `lint`"]
    pub const lint_unused_def: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_def"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_delim` from `lint`"]
    pub const lint_unused_delim: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_delim"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_duplicate` from `lint`"]
    pub const lint_unused_duplicate: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_duplicate"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_import_braces` from `lint`"]
    pub const lint_unused_import_braces: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_import_braces"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_imports` from `lint`"]
    pub const lint_unused_imports: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_imports"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_imports.suggestion_remove_whole_use` from `lint`"]
    pub const lint_suggestion_remove_whole_use: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_remove_whole_use"));
    #[doc =
    "Constant referring to Fluent message `lint_unused_imports.suggestion_remove_imports` from `lint`"]
    pub const lint_suggestion_remove_imports: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion_remove_imports"));
    #[doc =
    "Constant referring to Fluent message `lint_unused_lifetime` from `lint`"]
    pub const lint_unused_lifetime: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_lifetime"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_op` from `lint`"]
    pub const lint_unused_op: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_op"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_result` from `lint`"]
    pub const lint_unused_result: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_result"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_unused_visibilities` from `lint`"]
    pub const lint_unused_visibilities: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_unused_visibilities"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_use_let_underscore_ignore_suggestion` from `lint`"]
    pub const lint_use_let_underscore_ignore_suggestion:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_use_let_underscore_ignore_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_useless_ptr_null_checks_fn_ptr` from `lint`"]
    pub const lint_useless_ptr_null_checks_fn_ptr: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_useless_ptr_null_checks_fn_ptr"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_useless_ptr_null_checks_fn_ret` from `lint`"]
    pub const lint_useless_ptr_null_checks_fn_ret: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_useless_ptr_null_checks_fn_ret"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_useless_ptr_null_checks_ref` from `lint`"]
    pub const lint_useless_ptr_null_checks_ref: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_useless_ptr_null_checks_ref"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_uses_power_alignment` from `lint`"]
    pub const lint_uses_power_alignment: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_uses_power_alignment"),
            None);
    #[doc =
    "Constant referring to Fluent message `lint_variant_size_differences` from `lint`"]
    pub const lint_variant_size_differences: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("lint_variant_size_differences"),
            None);
    #[doc =
    r" Constants expected to exist by the diagnostic derive macros to use as default Fluent"]
    #[doc = r" identifiers for different subdiagnostic kinds."]
    pub mod _subdiag {
        #[doc = r" Default for `#[help]`"]
        pub const help: rustc_errors::SubdiagMessage =
            rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help"));
        #[doc = r" Default for `#[note]`"]
        pub const note: rustc_errors::SubdiagMessage =
            rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note"));
        #[doc = r" Default for `#[warn]`"]
        pub const warn: rustc_errors::SubdiagMessage =
            rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("warn"));
        #[doc = r" Default for `#[label]`"]
        pub const label: rustc_errors::SubdiagMessage =
            rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label"));
        #[doc = r" Default for `#[suggestion]`"]
        pub const suggestion: rustc_errors::SubdiagMessage =
            rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion"));
    }
}rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
144
145pub fn provide(providers: &mut Providers) {
146    levels::provide(providers);
147    expect::provide(providers);
148    foreign_modules::provide(providers);
149    *providers = Providers { lint_mod, ..*providers };
150}
151
152fn lint_mod(tcx: TyCtxt<'_>, module_def_id: LocalModDefId) {
153    late_lint_mod(tcx, module_def_id, BuiltinCombinedModuleLateLintPass::new());
154}
155
156#[allow(non_snake_case)]
pub struct BuiltinCombinedPreExpansionLintPass {
    KeywordIdents: KeywordIdents,
}
impl BuiltinCombinedPreExpansionLintPass {
    pub fn new() -> Self { Self { KeywordIdents: KeywordIdents } }
    pub fn get_lints() -> crate::LintVec {
        let mut lints = Vec::new();
        lints.extend_from_slice(&KeywordIdents::lint_vec());
        lints
    }
}
impl crate::EarlyLintPass for BuiltinCombinedPreExpansionLintPass {
    fn check_param(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Param) {
        { self.KeywordIdents.check_param(context, a); };
    }
    fn check_ident(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_span::Ident) {
        { self.KeywordIdents.check_ident(context, a); };
    }
    fn check_crate(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Crate) {
        { self.KeywordIdents.check_crate(context, a); };
    }
    fn check_crate_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Crate) {
        { self.KeywordIdents.check_crate_post(context, a); };
    }
    fn check_item(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Item) {
        { self.KeywordIdents.check_item(context, a); };
    }
    fn check_item_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Item) {
        { self.KeywordIdents.check_item_post(context, a); };
    }
    fn check_local(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Local) {
        { self.KeywordIdents.check_local(context, a); };
    }
    fn check_block(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Block) {
        { self.KeywordIdents.check_block(context, a); };
    }
    fn check_stmt(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Stmt) {
        { self.KeywordIdents.check_stmt(context, a); };
    }
    fn check_arm(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Arm) {
        { self.KeywordIdents.check_arm(context, a); };
    }
    fn check_pat(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Pat) {
        { self.KeywordIdents.check_pat(context, a); };
    }
    fn check_pat_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Pat) {
        { self.KeywordIdents.check_pat_post(context, a); };
    }
    fn check_expr(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Expr) {
        { self.KeywordIdents.check_expr(context, a); };
    }
    fn check_expr_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Expr) {
        { self.KeywordIdents.check_expr_post(context, a); };
    }
    fn check_ty(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Ty) {
        { self.KeywordIdents.check_ty(context, a); };
    }
    fn check_generic_arg(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::GenericArg) {
        { self.KeywordIdents.check_generic_arg(context, a); };
    }
    fn check_generic_param(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::GenericParam) {
        { self.KeywordIdents.check_generic_param(context, a); };
    }
    fn check_generics(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Generics) {
        { self.KeywordIdents.check_generics(context, a); };
    }
    fn check_poly_trait_ref(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::PolyTraitRef) {
        { self.KeywordIdents.check_poly_trait_ref(context, a); };
    }
    fn check_fn(&mut self, context: &crate::EarlyContext<'_>,
        a: rustc_ast::visit::FnKind<'_>, c: rustc_span::Span,
        d_: rustc_ast::NodeId) {
        { self.KeywordIdents.check_fn(context, a, c, d_); };
    }
    fn check_trait_item(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        { self.KeywordIdents.check_trait_item(context, a); };
    }
    fn check_trait_item_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        { self.KeywordIdents.check_trait_item_post(context, a); };
    }
    fn check_impl_item(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        { self.KeywordIdents.check_impl_item(context, a); };
    }
    fn check_impl_item_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        { self.KeywordIdents.check_impl_item_post(context, a); };
    }
    fn check_variant(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Variant) {
        { self.KeywordIdents.check_variant(context, a); };
    }
    fn check_attribute(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Attribute) {
        { self.KeywordIdents.check_attribute(context, a); };
    }
    fn check_attributes(&mut self, context: &crate::EarlyContext<'_>,
        a: &[rustc_ast::Attribute]) {
        { self.KeywordIdents.check_attributes(context, a); };
    }
    fn check_attributes_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &[rustc_ast::Attribute]) {
        { self.KeywordIdents.check_attributes_post(context, a); };
    }
    fn check_mac_def(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::MacroDef) {
        { self.KeywordIdents.check_mac_def(context, a); };
    }
    fn check_mac(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::MacCall) {
        { self.KeywordIdents.check_mac(context, a); };
    }
    fn enter_where_predicate(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::WherePredicate) {
        { self.KeywordIdents.enter_where_predicate(context, a); };
    }
    fn exit_where_predicate(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::WherePredicate) {
        { self.KeywordIdents.exit_where_predicate(context, a); };
    }
}
#[allow(rustc :: lint_pass_impl_without_macro)]
impl crate::LintPass for BuiltinCombinedPreExpansionLintPass {
    fn name(&self) -> &'static str {
        ::core::panicking::panic("explicit panic")
    }
    fn get_lints(&self) -> LintVec {
        ::core::panicking::panic("explicit panic")
    }
}early_lint_methods!(
157    declare_combined_early_lint_pass,
158    [
159        pub BuiltinCombinedPreExpansionLintPass,
160        [
161            KeywordIdents: KeywordIdents,
162        ]
163    ]
164);
165
166#[allow(non_snake_case)]
pub struct BuiltinCombinedEarlyLintPass {
    UnusedParens: UnusedParens,
    UnusedBraces: UnusedBraces,
    UnusedImportBraces: UnusedImportBraces,
    UnsafeCode: UnsafeCode,
    SpecialModuleName: SpecialModuleName,
    AnonymousParameters: AnonymousParameters,
    EllipsisInclusiveRangePatterns: EllipsisInclusiveRangePatterns,
    NonCamelCaseTypes: NonCamelCaseTypes,
    WhileTrue: WhileTrue,
    NonAsciiIdents: NonAsciiIdents,
    IncompleteInternalFeatures: IncompleteInternalFeatures,
    RedundantSemicolons: RedundantSemicolons,
    UnusedDocComment: UnusedDocComment,
    Expr2024: Expr2024,
    Precedence: Precedence,
    DoubleNegations: DoubleNegations,
}
impl BuiltinCombinedEarlyLintPass {
    pub fn new() -> Self {
        Self {
            UnusedParens: UnusedParens::default(),
            UnusedBraces: UnusedBraces,
            UnusedImportBraces: UnusedImportBraces,
            UnsafeCode: UnsafeCode,
            SpecialModuleName: SpecialModuleName,
            AnonymousParameters: AnonymousParameters,
            EllipsisInclusiveRangePatterns: EllipsisInclusiveRangePatterns::default(),
            NonCamelCaseTypes: NonCamelCaseTypes,
            WhileTrue: WhileTrue,
            NonAsciiIdents: NonAsciiIdents,
            IncompleteInternalFeatures: IncompleteInternalFeatures,
            RedundantSemicolons: RedundantSemicolons,
            UnusedDocComment: UnusedDocComment,
            Expr2024: Expr2024,
            Precedence: Precedence,
            DoubleNegations: DoubleNegations,
        }
    }
    pub fn get_lints() -> crate::LintVec {
        let mut lints = Vec::new();
        lints.extend_from_slice(&UnusedParens::lint_vec());
        lints.extend_from_slice(&UnusedBraces::lint_vec());
        lints.extend_from_slice(&UnusedImportBraces::lint_vec());
        lints.extend_from_slice(&UnsafeCode::lint_vec());
        lints.extend_from_slice(&SpecialModuleName::lint_vec());
        lints.extend_from_slice(&AnonymousParameters::lint_vec());
        lints.extend_from_slice(&EllipsisInclusiveRangePatterns::lint_vec());
        lints.extend_from_slice(&NonCamelCaseTypes::lint_vec());
        lints.extend_from_slice(&WhileTrue::lint_vec());
        lints.extend_from_slice(&NonAsciiIdents::lint_vec());
        lints.extend_from_slice(&IncompleteInternalFeatures::lint_vec());
        lints.extend_from_slice(&RedundantSemicolons::lint_vec());
        lints.extend_from_slice(&UnusedDocComment::lint_vec());
        lints.extend_from_slice(&Expr2024::lint_vec());
        lints.extend_from_slice(&Precedence::lint_vec());
        lints.extend_from_slice(&DoubleNegations::lint_vec());
        lints
    }
}
impl crate::EarlyLintPass for BuiltinCombinedEarlyLintPass {
    fn check_param(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Param) {
        {
            self.UnusedParens.check_param(context, a);
            self.UnusedBraces.check_param(context, a);
            self.UnusedImportBraces.check_param(context, a);
            self.UnsafeCode.check_param(context, a);
            self.SpecialModuleName.check_param(context, a);
            self.AnonymousParameters.check_param(context, a);
            self.EllipsisInclusiveRangePatterns.check_param(context, a);
            self.NonCamelCaseTypes.check_param(context, a);
            self.WhileTrue.check_param(context, a);
            self.NonAsciiIdents.check_param(context, a);
            self.IncompleteInternalFeatures.check_param(context, a);
            self.RedundantSemicolons.check_param(context, a);
            self.UnusedDocComment.check_param(context, a);
            self.Expr2024.check_param(context, a);
            self.Precedence.check_param(context, a);
            self.DoubleNegations.check_param(context, a);
        };
    }
    fn check_ident(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_span::Ident) {
        {
            self.UnusedParens.check_ident(context, a);
            self.UnusedBraces.check_ident(context, a);
            self.UnusedImportBraces.check_ident(context, a);
            self.UnsafeCode.check_ident(context, a);
            self.SpecialModuleName.check_ident(context, a);
            self.AnonymousParameters.check_ident(context, a);
            self.EllipsisInclusiveRangePatterns.check_ident(context, a);
            self.NonCamelCaseTypes.check_ident(context, a);
            self.WhileTrue.check_ident(context, a);
            self.NonAsciiIdents.check_ident(context, a);
            self.IncompleteInternalFeatures.check_ident(context, a);
            self.RedundantSemicolons.check_ident(context, a);
            self.UnusedDocComment.check_ident(context, a);
            self.Expr2024.check_ident(context, a);
            self.Precedence.check_ident(context, a);
            self.DoubleNegations.check_ident(context, a);
        };
    }
    fn check_crate(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Crate) {
        {
            self.UnusedParens.check_crate(context, a);
            self.UnusedBraces.check_crate(context, a);
            self.UnusedImportBraces.check_crate(context, a);
            self.UnsafeCode.check_crate(context, a);
            self.SpecialModuleName.check_crate(context, a);
            self.AnonymousParameters.check_crate(context, a);
            self.EllipsisInclusiveRangePatterns.check_crate(context, a);
            self.NonCamelCaseTypes.check_crate(context, a);
            self.WhileTrue.check_crate(context, a);
            self.NonAsciiIdents.check_crate(context, a);
            self.IncompleteInternalFeatures.check_crate(context, a);
            self.RedundantSemicolons.check_crate(context, a);
            self.UnusedDocComment.check_crate(context, a);
            self.Expr2024.check_crate(context, a);
            self.Precedence.check_crate(context, a);
            self.DoubleNegations.check_crate(context, a);
        };
    }
    fn check_crate_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Crate) {
        {
            self.UnusedParens.check_crate_post(context, a);
            self.UnusedBraces.check_crate_post(context, a);
            self.UnusedImportBraces.check_crate_post(context, a);
            self.UnsafeCode.check_crate_post(context, a);
            self.SpecialModuleName.check_crate_post(context, a);
            self.AnonymousParameters.check_crate_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_crate_post(context, a);
            self.NonCamelCaseTypes.check_crate_post(context, a);
            self.WhileTrue.check_crate_post(context, a);
            self.NonAsciiIdents.check_crate_post(context, a);
            self.IncompleteInternalFeatures.check_crate_post(context, a);
            self.RedundantSemicolons.check_crate_post(context, a);
            self.UnusedDocComment.check_crate_post(context, a);
            self.Expr2024.check_crate_post(context, a);
            self.Precedence.check_crate_post(context, a);
            self.DoubleNegations.check_crate_post(context, a);
        };
    }
    fn check_item(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Item) {
        {
            self.UnusedParens.check_item(context, a);
            self.UnusedBraces.check_item(context, a);
            self.UnusedImportBraces.check_item(context, a);
            self.UnsafeCode.check_item(context, a);
            self.SpecialModuleName.check_item(context, a);
            self.AnonymousParameters.check_item(context, a);
            self.EllipsisInclusiveRangePatterns.check_item(context, a);
            self.NonCamelCaseTypes.check_item(context, a);
            self.WhileTrue.check_item(context, a);
            self.NonAsciiIdents.check_item(context, a);
            self.IncompleteInternalFeatures.check_item(context, a);
            self.RedundantSemicolons.check_item(context, a);
            self.UnusedDocComment.check_item(context, a);
            self.Expr2024.check_item(context, a);
            self.Precedence.check_item(context, a);
            self.DoubleNegations.check_item(context, a);
        };
    }
    fn check_item_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Item) {
        {
            self.UnusedParens.check_item_post(context, a);
            self.UnusedBraces.check_item_post(context, a);
            self.UnusedImportBraces.check_item_post(context, a);
            self.UnsafeCode.check_item_post(context, a);
            self.SpecialModuleName.check_item_post(context, a);
            self.AnonymousParameters.check_item_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_item_post(context, a);
            self.NonCamelCaseTypes.check_item_post(context, a);
            self.WhileTrue.check_item_post(context, a);
            self.NonAsciiIdents.check_item_post(context, a);
            self.IncompleteInternalFeatures.check_item_post(context, a);
            self.RedundantSemicolons.check_item_post(context, a);
            self.UnusedDocComment.check_item_post(context, a);
            self.Expr2024.check_item_post(context, a);
            self.Precedence.check_item_post(context, a);
            self.DoubleNegations.check_item_post(context, a);
        };
    }
    fn check_local(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Local) {
        {
            self.UnusedParens.check_local(context, a);
            self.UnusedBraces.check_local(context, a);
            self.UnusedImportBraces.check_local(context, a);
            self.UnsafeCode.check_local(context, a);
            self.SpecialModuleName.check_local(context, a);
            self.AnonymousParameters.check_local(context, a);
            self.EllipsisInclusiveRangePatterns.check_local(context, a);
            self.NonCamelCaseTypes.check_local(context, a);
            self.WhileTrue.check_local(context, a);
            self.NonAsciiIdents.check_local(context, a);
            self.IncompleteInternalFeatures.check_local(context, a);
            self.RedundantSemicolons.check_local(context, a);
            self.UnusedDocComment.check_local(context, a);
            self.Expr2024.check_local(context, a);
            self.Precedence.check_local(context, a);
            self.DoubleNegations.check_local(context, a);
        };
    }
    fn check_block(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Block) {
        {
            self.UnusedParens.check_block(context, a);
            self.UnusedBraces.check_block(context, a);
            self.UnusedImportBraces.check_block(context, a);
            self.UnsafeCode.check_block(context, a);
            self.SpecialModuleName.check_block(context, a);
            self.AnonymousParameters.check_block(context, a);
            self.EllipsisInclusiveRangePatterns.check_block(context, a);
            self.NonCamelCaseTypes.check_block(context, a);
            self.WhileTrue.check_block(context, a);
            self.NonAsciiIdents.check_block(context, a);
            self.IncompleteInternalFeatures.check_block(context, a);
            self.RedundantSemicolons.check_block(context, a);
            self.UnusedDocComment.check_block(context, a);
            self.Expr2024.check_block(context, a);
            self.Precedence.check_block(context, a);
            self.DoubleNegations.check_block(context, a);
        };
    }
    fn check_stmt(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Stmt) {
        {
            self.UnusedParens.check_stmt(context, a);
            self.UnusedBraces.check_stmt(context, a);
            self.UnusedImportBraces.check_stmt(context, a);
            self.UnsafeCode.check_stmt(context, a);
            self.SpecialModuleName.check_stmt(context, a);
            self.AnonymousParameters.check_stmt(context, a);
            self.EllipsisInclusiveRangePatterns.check_stmt(context, a);
            self.NonCamelCaseTypes.check_stmt(context, a);
            self.WhileTrue.check_stmt(context, a);
            self.NonAsciiIdents.check_stmt(context, a);
            self.IncompleteInternalFeatures.check_stmt(context, a);
            self.RedundantSemicolons.check_stmt(context, a);
            self.UnusedDocComment.check_stmt(context, a);
            self.Expr2024.check_stmt(context, a);
            self.Precedence.check_stmt(context, a);
            self.DoubleNegations.check_stmt(context, a);
        };
    }
    fn check_arm(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Arm) {
        {
            self.UnusedParens.check_arm(context, a);
            self.UnusedBraces.check_arm(context, a);
            self.UnusedImportBraces.check_arm(context, a);
            self.UnsafeCode.check_arm(context, a);
            self.SpecialModuleName.check_arm(context, a);
            self.AnonymousParameters.check_arm(context, a);
            self.EllipsisInclusiveRangePatterns.check_arm(context, a);
            self.NonCamelCaseTypes.check_arm(context, a);
            self.WhileTrue.check_arm(context, a);
            self.NonAsciiIdents.check_arm(context, a);
            self.IncompleteInternalFeatures.check_arm(context, a);
            self.RedundantSemicolons.check_arm(context, a);
            self.UnusedDocComment.check_arm(context, a);
            self.Expr2024.check_arm(context, a);
            self.Precedence.check_arm(context, a);
            self.DoubleNegations.check_arm(context, a);
        };
    }
    fn check_pat(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Pat) {
        {
            self.UnusedParens.check_pat(context, a);
            self.UnusedBraces.check_pat(context, a);
            self.UnusedImportBraces.check_pat(context, a);
            self.UnsafeCode.check_pat(context, a);
            self.SpecialModuleName.check_pat(context, a);
            self.AnonymousParameters.check_pat(context, a);
            self.EllipsisInclusiveRangePatterns.check_pat(context, a);
            self.NonCamelCaseTypes.check_pat(context, a);
            self.WhileTrue.check_pat(context, a);
            self.NonAsciiIdents.check_pat(context, a);
            self.IncompleteInternalFeatures.check_pat(context, a);
            self.RedundantSemicolons.check_pat(context, a);
            self.UnusedDocComment.check_pat(context, a);
            self.Expr2024.check_pat(context, a);
            self.Precedence.check_pat(context, a);
            self.DoubleNegations.check_pat(context, a);
        };
    }
    fn check_pat_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Pat) {
        {
            self.UnusedParens.check_pat_post(context, a);
            self.UnusedBraces.check_pat_post(context, a);
            self.UnusedImportBraces.check_pat_post(context, a);
            self.UnsafeCode.check_pat_post(context, a);
            self.SpecialModuleName.check_pat_post(context, a);
            self.AnonymousParameters.check_pat_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_pat_post(context, a);
            self.NonCamelCaseTypes.check_pat_post(context, a);
            self.WhileTrue.check_pat_post(context, a);
            self.NonAsciiIdents.check_pat_post(context, a);
            self.IncompleteInternalFeatures.check_pat_post(context, a);
            self.RedundantSemicolons.check_pat_post(context, a);
            self.UnusedDocComment.check_pat_post(context, a);
            self.Expr2024.check_pat_post(context, a);
            self.Precedence.check_pat_post(context, a);
            self.DoubleNegations.check_pat_post(context, a);
        };
    }
    fn check_expr(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Expr) {
        {
            self.UnusedParens.check_expr(context, a);
            self.UnusedBraces.check_expr(context, a);
            self.UnusedImportBraces.check_expr(context, a);
            self.UnsafeCode.check_expr(context, a);
            self.SpecialModuleName.check_expr(context, a);
            self.AnonymousParameters.check_expr(context, a);
            self.EllipsisInclusiveRangePatterns.check_expr(context, a);
            self.NonCamelCaseTypes.check_expr(context, a);
            self.WhileTrue.check_expr(context, a);
            self.NonAsciiIdents.check_expr(context, a);
            self.IncompleteInternalFeatures.check_expr(context, a);
            self.RedundantSemicolons.check_expr(context, a);
            self.UnusedDocComment.check_expr(context, a);
            self.Expr2024.check_expr(context, a);
            self.Precedence.check_expr(context, a);
            self.DoubleNegations.check_expr(context, a);
        };
    }
    fn check_expr_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Expr) {
        {
            self.UnusedParens.check_expr_post(context, a);
            self.UnusedBraces.check_expr_post(context, a);
            self.UnusedImportBraces.check_expr_post(context, a);
            self.UnsafeCode.check_expr_post(context, a);
            self.SpecialModuleName.check_expr_post(context, a);
            self.AnonymousParameters.check_expr_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_expr_post(context, a);
            self.NonCamelCaseTypes.check_expr_post(context, a);
            self.WhileTrue.check_expr_post(context, a);
            self.NonAsciiIdents.check_expr_post(context, a);
            self.IncompleteInternalFeatures.check_expr_post(context, a);
            self.RedundantSemicolons.check_expr_post(context, a);
            self.UnusedDocComment.check_expr_post(context, a);
            self.Expr2024.check_expr_post(context, a);
            self.Precedence.check_expr_post(context, a);
            self.DoubleNegations.check_expr_post(context, a);
        };
    }
    fn check_ty(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Ty) {
        {
            self.UnusedParens.check_ty(context, a);
            self.UnusedBraces.check_ty(context, a);
            self.UnusedImportBraces.check_ty(context, a);
            self.UnsafeCode.check_ty(context, a);
            self.SpecialModuleName.check_ty(context, a);
            self.AnonymousParameters.check_ty(context, a);
            self.EllipsisInclusiveRangePatterns.check_ty(context, a);
            self.NonCamelCaseTypes.check_ty(context, a);
            self.WhileTrue.check_ty(context, a);
            self.NonAsciiIdents.check_ty(context, a);
            self.IncompleteInternalFeatures.check_ty(context, a);
            self.RedundantSemicolons.check_ty(context, a);
            self.UnusedDocComment.check_ty(context, a);
            self.Expr2024.check_ty(context, a);
            self.Precedence.check_ty(context, a);
            self.DoubleNegations.check_ty(context, a);
        };
    }
    fn check_generic_arg(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::GenericArg) {
        {
            self.UnusedParens.check_generic_arg(context, a);
            self.UnusedBraces.check_generic_arg(context, a);
            self.UnusedImportBraces.check_generic_arg(context, a);
            self.UnsafeCode.check_generic_arg(context, a);
            self.SpecialModuleName.check_generic_arg(context, a);
            self.AnonymousParameters.check_generic_arg(context, a);
            self.EllipsisInclusiveRangePatterns.check_generic_arg(context, a);
            self.NonCamelCaseTypes.check_generic_arg(context, a);
            self.WhileTrue.check_generic_arg(context, a);
            self.NonAsciiIdents.check_generic_arg(context, a);
            self.IncompleteInternalFeatures.check_generic_arg(context, a);
            self.RedundantSemicolons.check_generic_arg(context, a);
            self.UnusedDocComment.check_generic_arg(context, a);
            self.Expr2024.check_generic_arg(context, a);
            self.Precedence.check_generic_arg(context, a);
            self.DoubleNegations.check_generic_arg(context, a);
        };
    }
    fn check_generic_param(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::GenericParam) {
        {
            self.UnusedParens.check_generic_param(context, a);
            self.UnusedBraces.check_generic_param(context, a);
            self.UnusedImportBraces.check_generic_param(context, a);
            self.UnsafeCode.check_generic_param(context, a);
            self.SpecialModuleName.check_generic_param(context, a);
            self.AnonymousParameters.check_generic_param(context, a);
            self.EllipsisInclusiveRangePatterns.check_generic_param(context,
                a);
            self.NonCamelCaseTypes.check_generic_param(context, a);
            self.WhileTrue.check_generic_param(context, a);
            self.NonAsciiIdents.check_generic_param(context, a);
            self.IncompleteInternalFeatures.check_generic_param(context, a);
            self.RedundantSemicolons.check_generic_param(context, a);
            self.UnusedDocComment.check_generic_param(context, a);
            self.Expr2024.check_generic_param(context, a);
            self.Precedence.check_generic_param(context, a);
            self.DoubleNegations.check_generic_param(context, a);
        };
    }
    fn check_generics(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Generics) {
        {
            self.UnusedParens.check_generics(context, a);
            self.UnusedBraces.check_generics(context, a);
            self.UnusedImportBraces.check_generics(context, a);
            self.UnsafeCode.check_generics(context, a);
            self.SpecialModuleName.check_generics(context, a);
            self.AnonymousParameters.check_generics(context, a);
            self.EllipsisInclusiveRangePatterns.check_generics(context, a);
            self.NonCamelCaseTypes.check_generics(context, a);
            self.WhileTrue.check_generics(context, a);
            self.NonAsciiIdents.check_generics(context, a);
            self.IncompleteInternalFeatures.check_generics(context, a);
            self.RedundantSemicolons.check_generics(context, a);
            self.UnusedDocComment.check_generics(context, a);
            self.Expr2024.check_generics(context, a);
            self.Precedence.check_generics(context, a);
            self.DoubleNegations.check_generics(context, a);
        };
    }
    fn check_poly_trait_ref(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::PolyTraitRef) {
        {
            self.UnusedParens.check_poly_trait_ref(context, a);
            self.UnusedBraces.check_poly_trait_ref(context, a);
            self.UnusedImportBraces.check_poly_trait_ref(context, a);
            self.UnsafeCode.check_poly_trait_ref(context, a);
            self.SpecialModuleName.check_poly_trait_ref(context, a);
            self.AnonymousParameters.check_poly_trait_ref(context, a);
            self.EllipsisInclusiveRangePatterns.check_poly_trait_ref(context,
                a);
            self.NonCamelCaseTypes.check_poly_trait_ref(context, a);
            self.WhileTrue.check_poly_trait_ref(context, a);
            self.NonAsciiIdents.check_poly_trait_ref(context, a);
            self.IncompleteInternalFeatures.check_poly_trait_ref(context, a);
            self.RedundantSemicolons.check_poly_trait_ref(context, a);
            self.UnusedDocComment.check_poly_trait_ref(context, a);
            self.Expr2024.check_poly_trait_ref(context, a);
            self.Precedence.check_poly_trait_ref(context, a);
            self.DoubleNegations.check_poly_trait_ref(context, a);
        };
    }
    fn check_fn(&mut self, context: &crate::EarlyContext<'_>,
        a: rustc_ast::visit::FnKind<'_>, c: rustc_span::Span,
        d_: rustc_ast::NodeId) {
        {
            self.UnusedParens.check_fn(context, a, c, d_);
            self.UnusedBraces.check_fn(context, a, c, d_);
            self.UnusedImportBraces.check_fn(context, a, c, d_);
            self.UnsafeCode.check_fn(context, a, c, d_);
            self.SpecialModuleName.check_fn(context, a, c, d_);
            self.AnonymousParameters.check_fn(context, a, c, d_);
            self.EllipsisInclusiveRangePatterns.check_fn(context, a, c, d_);
            self.NonCamelCaseTypes.check_fn(context, a, c, d_);
            self.WhileTrue.check_fn(context, a, c, d_);
            self.NonAsciiIdents.check_fn(context, a, c, d_);
            self.IncompleteInternalFeatures.check_fn(context, a, c, d_);
            self.RedundantSemicolons.check_fn(context, a, c, d_);
            self.UnusedDocComment.check_fn(context, a, c, d_);
            self.Expr2024.check_fn(context, a, c, d_);
            self.Precedence.check_fn(context, a, c, d_);
            self.DoubleNegations.check_fn(context, a, c, d_);
        };
    }
    fn check_trait_item(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        {
            self.UnusedParens.check_trait_item(context, a);
            self.UnusedBraces.check_trait_item(context, a);
            self.UnusedImportBraces.check_trait_item(context, a);
            self.UnsafeCode.check_trait_item(context, a);
            self.SpecialModuleName.check_trait_item(context, a);
            self.AnonymousParameters.check_trait_item(context, a);
            self.EllipsisInclusiveRangePatterns.check_trait_item(context, a);
            self.NonCamelCaseTypes.check_trait_item(context, a);
            self.WhileTrue.check_trait_item(context, a);
            self.NonAsciiIdents.check_trait_item(context, a);
            self.IncompleteInternalFeatures.check_trait_item(context, a);
            self.RedundantSemicolons.check_trait_item(context, a);
            self.UnusedDocComment.check_trait_item(context, a);
            self.Expr2024.check_trait_item(context, a);
            self.Precedence.check_trait_item(context, a);
            self.DoubleNegations.check_trait_item(context, a);
        };
    }
    fn check_trait_item_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        {
            self.UnusedParens.check_trait_item_post(context, a);
            self.UnusedBraces.check_trait_item_post(context, a);
            self.UnusedImportBraces.check_trait_item_post(context, a);
            self.UnsafeCode.check_trait_item_post(context, a);
            self.SpecialModuleName.check_trait_item_post(context, a);
            self.AnonymousParameters.check_trait_item_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_trait_item_post(context,
                a);
            self.NonCamelCaseTypes.check_trait_item_post(context, a);
            self.WhileTrue.check_trait_item_post(context, a);
            self.NonAsciiIdents.check_trait_item_post(context, a);
            self.IncompleteInternalFeatures.check_trait_item_post(context, a);
            self.RedundantSemicolons.check_trait_item_post(context, a);
            self.UnusedDocComment.check_trait_item_post(context, a);
            self.Expr2024.check_trait_item_post(context, a);
            self.Precedence.check_trait_item_post(context, a);
            self.DoubleNegations.check_trait_item_post(context, a);
        };
    }
    fn check_impl_item(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        {
            self.UnusedParens.check_impl_item(context, a);
            self.UnusedBraces.check_impl_item(context, a);
            self.UnusedImportBraces.check_impl_item(context, a);
            self.UnsafeCode.check_impl_item(context, a);
            self.SpecialModuleName.check_impl_item(context, a);
            self.AnonymousParameters.check_impl_item(context, a);
            self.EllipsisInclusiveRangePatterns.check_impl_item(context, a);
            self.NonCamelCaseTypes.check_impl_item(context, a);
            self.WhileTrue.check_impl_item(context, a);
            self.NonAsciiIdents.check_impl_item(context, a);
            self.IncompleteInternalFeatures.check_impl_item(context, a);
            self.RedundantSemicolons.check_impl_item(context, a);
            self.UnusedDocComment.check_impl_item(context, a);
            self.Expr2024.check_impl_item(context, a);
            self.Precedence.check_impl_item(context, a);
            self.DoubleNegations.check_impl_item(context, a);
        };
    }
    fn check_impl_item_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::AssocItem) {
        {
            self.UnusedParens.check_impl_item_post(context, a);
            self.UnusedBraces.check_impl_item_post(context, a);
            self.UnusedImportBraces.check_impl_item_post(context, a);
            self.UnsafeCode.check_impl_item_post(context, a);
            self.SpecialModuleName.check_impl_item_post(context, a);
            self.AnonymousParameters.check_impl_item_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_impl_item_post(context,
                a);
            self.NonCamelCaseTypes.check_impl_item_post(context, a);
            self.WhileTrue.check_impl_item_post(context, a);
            self.NonAsciiIdents.check_impl_item_post(context, a);
            self.IncompleteInternalFeatures.check_impl_item_post(context, a);
            self.RedundantSemicolons.check_impl_item_post(context, a);
            self.UnusedDocComment.check_impl_item_post(context, a);
            self.Expr2024.check_impl_item_post(context, a);
            self.Precedence.check_impl_item_post(context, a);
            self.DoubleNegations.check_impl_item_post(context, a);
        };
    }
    fn check_variant(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Variant) {
        {
            self.UnusedParens.check_variant(context, a);
            self.UnusedBraces.check_variant(context, a);
            self.UnusedImportBraces.check_variant(context, a);
            self.UnsafeCode.check_variant(context, a);
            self.SpecialModuleName.check_variant(context, a);
            self.AnonymousParameters.check_variant(context, a);
            self.EllipsisInclusiveRangePatterns.check_variant(context, a);
            self.NonCamelCaseTypes.check_variant(context, a);
            self.WhileTrue.check_variant(context, a);
            self.NonAsciiIdents.check_variant(context, a);
            self.IncompleteInternalFeatures.check_variant(context, a);
            self.RedundantSemicolons.check_variant(context, a);
            self.UnusedDocComment.check_variant(context, a);
            self.Expr2024.check_variant(context, a);
            self.Precedence.check_variant(context, a);
            self.DoubleNegations.check_variant(context, a);
        };
    }
    fn check_attribute(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::Attribute) {
        {
            self.UnusedParens.check_attribute(context, a);
            self.UnusedBraces.check_attribute(context, a);
            self.UnusedImportBraces.check_attribute(context, a);
            self.UnsafeCode.check_attribute(context, a);
            self.SpecialModuleName.check_attribute(context, a);
            self.AnonymousParameters.check_attribute(context, a);
            self.EllipsisInclusiveRangePatterns.check_attribute(context, a);
            self.NonCamelCaseTypes.check_attribute(context, a);
            self.WhileTrue.check_attribute(context, a);
            self.NonAsciiIdents.check_attribute(context, a);
            self.IncompleteInternalFeatures.check_attribute(context, a);
            self.RedundantSemicolons.check_attribute(context, a);
            self.UnusedDocComment.check_attribute(context, a);
            self.Expr2024.check_attribute(context, a);
            self.Precedence.check_attribute(context, a);
            self.DoubleNegations.check_attribute(context, a);
        };
    }
    fn check_attributes(&mut self, context: &crate::EarlyContext<'_>,
        a: &[rustc_ast::Attribute]) {
        {
            self.UnusedParens.check_attributes(context, a);
            self.UnusedBraces.check_attributes(context, a);
            self.UnusedImportBraces.check_attributes(context, a);
            self.UnsafeCode.check_attributes(context, a);
            self.SpecialModuleName.check_attributes(context, a);
            self.AnonymousParameters.check_attributes(context, a);
            self.EllipsisInclusiveRangePatterns.check_attributes(context, a);
            self.NonCamelCaseTypes.check_attributes(context, a);
            self.WhileTrue.check_attributes(context, a);
            self.NonAsciiIdents.check_attributes(context, a);
            self.IncompleteInternalFeatures.check_attributes(context, a);
            self.RedundantSemicolons.check_attributes(context, a);
            self.UnusedDocComment.check_attributes(context, a);
            self.Expr2024.check_attributes(context, a);
            self.Precedence.check_attributes(context, a);
            self.DoubleNegations.check_attributes(context, a);
        };
    }
    fn check_attributes_post(&mut self, context: &crate::EarlyContext<'_>,
        a: &[rustc_ast::Attribute]) {
        {
            self.UnusedParens.check_attributes_post(context, a);
            self.UnusedBraces.check_attributes_post(context, a);
            self.UnusedImportBraces.check_attributes_post(context, a);
            self.UnsafeCode.check_attributes_post(context, a);
            self.SpecialModuleName.check_attributes_post(context, a);
            self.AnonymousParameters.check_attributes_post(context, a);
            self.EllipsisInclusiveRangePatterns.check_attributes_post(context,
                a);
            self.NonCamelCaseTypes.check_attributes_post(context, a);
            self.WhileTrue.check_attributes_post(context, a);
            self.NonAsciiIdents.check_attributes_post(context, a);
            self.IncompleteInternalFeatures.check_attributes_post(context, a);
            self.RedundantSemicolons.check_attributes_post(context, a);
            self.UnusedDocComment.check_attributes_post(context, a);
            self.Expr2024.check_attributes_post(context, a);
            self.Precedence.check_attributes_post(context, a);
            self.DoubleNegations.check_attributes_post(context, a);
        };
    }
    fn check_mac_def(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::MacroDef) {
        {
            self.UnusedParens.check_mac_def(context, a);
            self.UnusedBraces.check_mac_def(context, a);
            self.UnusedImportBraces.check_mac_def(context, a);
            self.UnsafeCode.check_mac_def(context, a);
            self.SpecialModuleName.check_mac_def(context, a);
            self.AnonymousParameters.check_mac_def(context, a);
            self.EllipsisInclusiveRangePatterns.check_mac_def(context, a);
            self.NonCamelCaseTypes.check_mac_def(context, a);
            self.WhileTrue.check_mac_def(context, a);
            self.NonAsciiIdents.check_mac_def(context, a);
            self.IncompleteInternalFeatures.check_mac_def(context, a);
            self.RedundantSemicolons.check_mac_def(context, a);
            self.UnusedDocComment.check_mac_def(context, a);
            self.Expr2024.check_mac_def(context, a);
            self.Precedence.check_mac_def(context, a);
            self.DoubleNegations.check_mac_def(context, a);
        };
    }
    fn check_mac(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::MacCall) {
        {
            self.UnusedParens.check_mac(context, a);
            self.UnusedBraces.check_mac(context, a);
            self.UnusedImportBraces.check_mac(context, a);
            self.UnsafeCode.check_mac(context, a);
            self.SpecialModuleName.check_mac(context, a);
            self.AnonymousParameters.check_mac(context, a);
            self.EllipsisInclusiveRangePatterns.check_mac(context, a);
            self.NonCamelCaseTypes.check_mac(context, a);
            self.WhileTrue.check_mac(context, a);
            self.NonAsciiIdents.check_mac(context, a);
            self.IncompleteInternalFeatures.check_mac(context, a);
            self.RedundantSemicolons.check_mac(context, a);
            self.UnusedDocComment.check_mac(context, a);
            self.Expr2024.check_mac(context, a);
            self.Precedence.check_mac(context, a);
            self.DoubleNegations.check_mac(context, a);
        };
    }
    fn enter_where_predicate(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::WherePredicate) {
        {
            self.UnusedParens.enter_where_predicate(context, a);
            self.UnusedBraces.enter_where_predicate(context, a);
            self.UnusedImportBraces.enter_where_predicate(context, a);
            self.UnsafeCode.enter_where_predicate(context, a);
            self.SpecialModuleName.enter_where_predicate(context, a);
            self.AnonymousParameters.enter_where_predicate(context, a);
            self.EllipsisInclusiveRangePatterns.enter_where_predicate(context,
                a);
            self.NonCamelCaseTypes.enter_where_predicate(context, a);
            self.WhileTrue.enter_where_predicate(context, a);
            self.NonAsciiIdents.enter_where_predicate(context, a);
            self.IncompleteInternalFeatures.enter_where_predicate(context, a);
            self.RedundantSemicolons.enter_where_predicate(context, a);
            self.UnusedDocComment.enter_where_predicate(context, a);
            self.Expr2024.enter_where_predicate(context, a);
            self.Precedence.enter_where_predicate(context, a);
            self.DoubleNegations.enter_where_predicate(context, a);
        };
    }
    fn exit_where_predicate(&mut self, context: &crate::EarlyContext<'_>,
        a: &rustc_ast::WherePredicate) {
        {
            self.UnusedParens.exit_where_predicate(context, a);
            self.UnusedBraces.exit_where_predicate(context, a);
            self.UnusedImportBraces.exit_where_predicate(context, a);
            self.UnsafeCode.exit_where_predicate(context, a);
            self.SpecialModuleName.exit_where_predicate(context, a);
            self.AnonymousParameters.exit_where_predicate(context, a);
            self.EllipsisInclusiveRangePatterns.exit_where_predicate(context,
                a);
            self.NonCamelCaseTypes.exit_where_predicate(context, a);
            self.WhileTrue.exit_where_predicate(context, a);
            self.NonAsciiIdents.exit_where_predicate(context, a);
            self.IncompleteInternalFeatures.exit_where_predicate(context, a);
            self.RedundantSemicolons.exit_where_predicate(context, a);
            self.UnusedDocComment.exit_where_predicate(context, a);
            self.Expr2024.exit_where_predicate(context, a);
            self.Precedence.exit_where_predicate(context, a);
            self.DoubleNegations.exit_where_predicate(context, a);
        };
    }
}
#[allow(rustc :: lint_pass_impl_without_macro)]
impl crate::LintPass for BuiltinCombinedEarlyLintPass {
    fn name(&self) -> &'static str {
        ::core::panicking::panic("explicit panic")
    }
    fn get_lints(&self) -> LintVec {
        ::core::panicking::panic("explicit panic")
    }
}early_lint_methods!(
167    declare_combined_early_lint_pass,
168    [
169        pub BuiltinCombinedEarlyLintPass,
170        [
171            UnusedParens: UnusedParens::default(),
172            UnusedBraces: UnusedBraces,
173            UnusedImportBraces: UnusedImportBraces,
174            UnsafeCode: UnsafeCode,
175            SpecialModuleName: SpecialModuleName,
176            AnonymousParameters: AnonymousParameters,
177            EllipsisInclusiveRangePatterns: EllipsisInclusiveRangePatterns::default(),
178            NonCamelCaseTypes: NonCamelCaseTypes,
179            WhileTrue: WhileTrue,
180            NonAsciiIdents: NonAsciiIdents,
181            IncompleteInternalFeatures: IncompleteInternalFeatures,
182            RedundantSemicolons: RedundantSemicolons,
183            UnusedDocComment: UnusedDocComment,
184            Expr2024: Expr2024,
185            Precedence: Precedence,
186            DoubleNegations: DoubleNegations,
187        ]
188    ]
189);
190
191#[allow(non_snake_case)]
struct BuiltinCombinedModuleLateLintPass {
    ForLoopsOverFallibles: ForLoopsOverFallibles,
    DefaultCouldBeDerived: DefaultCouldBeDerived,
    DerefIntoDynSupertrait: DerefIntoDynSupertrait,
    DropForgetUseless: DropForgetUseless,
    ImproperCTypesLint: ImproperCTypesLint,
    ImproperGpuKernelLint: ImproperGpuKernelLint,
    InvalidFromUtf8: InvalidFromUtf8,
    VariantSizeDifferences: VariantSizeDifferences,
    PathStatements: PathStatements,
    LetUnderscore: LetUnderscore,
    InvalidReferenceCasting: InvalidReferenceCasting,
    ImplicitAutorefs: ImplicitAutorefs,
    UnusedResults: UnusedResults,
    UnitBindings: UnitBindings,
    NonUpperCaseGlobals: NonUpperCaseGlobals,
    NonShorthandFieldPatterns: NonShorthandFieldPatterns,
    UnusedAllocation: UnusedAllocation,
    MissingCopyImplementations: MissingCopyImplementations,
    PtrNullChecks: PtrNullChecks,
    MutableTransmutes: MutableTransmutes,
    TypeAliasBounds: TypeAliasBounds,
    TrivialConstraints: TrivialConstraints,
    TypeLimits: TypeLimits,
    NonSnakeCase: NonSnakeCase,
    InvalidNoMangleItems: InvalidNoMangleItems,
    UnreachablePub: UnreachablePub,
    ExplicitOutlivesRequirements: ExplicitOutlivesRequirements,
    InvalidValue: InvalidValue,
    DerefNullPtr: DerefNullPtr,
    UnstableFeatures: UnstableFeatures,
    UngatedAsyncFnTrackCaller: UngatedAsyncFnTrackCaller,
    ShadowedIntoIter: ShadowedIntoIter,
    DropTraitConstraints: DropTraitConstraints,
    DanglingPointers: DanglingPointers,
    NonPanicFmt: NonPanicFmt,
    NoopMethodCall: NoopMethodCall,
    EnumIntrinsicsNonEnums: EnumIntrinsicsNonEnums,
    InvalidAtomicOrdering: InvalidAtomicOrdering,
    AsmLabels: AsmLabels,
    OpaqueHiddenInferredBound: OpaqueHiddenInferredBound,
    MultipleSupertraitUpcastable: MultipleSupertraitUpcastable,
    MapUnitFn: MapUnitFn,
    MissingDebugImplementations: MissingDebugImplementations,
    MissingDoc: MissingDoc,
    AsyncClosureUsage: AsyncClosureUsage,
    AsyncFnInTrait: AsyncFnInTrait,
    NonLocalDefinitions: NonLocalDefinitions,
    InteriorMutableConsts: InteriorMutableConsts,
    ImplTraitOvercaptures: ImplTraitOvercaptures,
    IfLetRescope: IfLetRescope,
    StaticMutRefs: StaticMutRefs,
    UnqualifiedLocalImports: UnqualifiedLocalImports,
    FunctionCastsAsInteger: FunctionCastsAsInteger,
    CheckTransmutes: CheckTransmutes,
    LifetimeSyntax: LifetimeSyntax,
}
impl BuiltinCombinedModuleLateLintPass {
    fn new() -> Self {
        Self {
            ForLoopsOverFallibles: ForLoopsOverFallibles,
            DefaultCouldBeDerived: DefaultCouldBeDerived,
            DerefIntoDynSupertrait: DerefIntoDynSupertrait,
            DropForgetUseless: DropForgetUseless,
            ImproperCTypesLint: ImproperCTypesLint,
            ImproperGpuKernelLint: ImproperGpuKernelLint,
            InvalidFromUtf8: InvalidFromUtf8,
            VariantSizeDifferences: VariantSizeDifferences,
            PathStatements: PathStatements,
            LetUnderscore: LetUnderscore,
            InvalidReferenceCasting: InvalidReferenceCasting,
            ImplicitAutorefs: ImplicitAutorefs,
            UnusedResults: UnusedResults,
            UnitBindings: UnitBindings,
            NonUpperCaseGlobals: NonUpperCaseGlobals,
            NonShorthandFieldPatterns: NonShorthandFieldPatterns,
            UnusedAllocation: UnusedAllocation,
            MissingCopyImplementations: MissingCopyImplementations,
            PtrNullChecks: PtrNullChecks,
            MutableTransmutes: MutableTransmutes,
            TypeAliasBounds: TypeAliasBounds,
            TrivialConstraints: TrivialConstraints,
            TypeLimits: TypeLimits::new(),
            NonSnakeCase: NonSnakeCase,
            InvalidNoMangleItems: InvalidNoMangleItems,
            UnreachablePub: UnreachablePub,
            ExplicitOutlivesRequirements: ExplicitOutlivesRequirements,
            InvalidValue: InvalidValue,
            DerefNullPtr: DerefNullPtr,
            UnstableFeatures: UnstableFeatures,
            UngatedAsyncFnTrackCaller: UngatedAsyncFnTrackCaller,
            ShadowedIntoIter: ShadowedIntoIter,
            DropTraitConstraints: DropTraitConstraints,
            DanglingPointers: DanglingPointers,
            NonPanicFmt: NonPanicFmt,
            NoopMethodCall: NoopMethodCall,
            EnumIntrinsicsNonEnums: EnumIntrinsicsNonEnums,
            InvalidAtomicOrdering: InvalidAtomicOrdering,
            AsmLabels: AsmLabels,
            OpaqueHiddenInferredBound: OpaqueHiddenInferredBound,
            MultipleSupertraitUpcastable: MultipleSupertraitUpcastable,
            MapUnitFn: MapUnitFn,
            MissingDebugImplementations: MissingDebugImplementations,
            MissingDoc: MissingDoc,
            AsyncClosureUsage: AsyncClosureUsage,
            AsyncFnInTrait: AsyncFnInTrait,
            NonLocalDefinitions: NonLocalDefinitions::default(),
            InteriorMutableConsts: InteriorMutableConsts,
            ImplTraitOvercaptures: ImplTraitOvercaptures,
            IfLetRescope: IfLetRescope::default(),
            StaticMutRefs: StaticMutRefs,
            UnqualifiedLocalImports: UnqualifiedLocalImports,
            FunctionCastsAsInteger: FunctionCastsAsInteger,
            CheckTransmutes: CheckTransmutes,
            LifetimeSyntax: LifetimeSyntax,
        }
    }
    fn get_lints() -> crate::LintVec {
        let mut lints = Vec::new();
        lints.extend_from_slice(&ForLoopsOverFallibles::lint_vec());
        lints.extend_from_slice(&DefaultCouldBeDerived::lint_vec());
        lints.extend_from_slice(&DerefIntoDynSupertrait::lint_vec());
        lints.extend_from_slice(&DropForgetUseless::lint_vec());
        lints.extend_from_slice(&ImproperCTypesLint::lint_vec());
        lints.extend_from_slice(&ImproperGpuKernelLint::lint_vec());
        lints.extend_from_slice(&InvalidFromUtf8::lint_vec());
        lints.extend_from_slice(&VariantSizeDifferences::lint_vec());
        lints.extend_from_slice(&PathStatements::lint_vec());
        lints.extend_from_slice(&LetUnderscore::lint_vec());
        lints.extend_from_slice(&InvalidReferenceCasting::lint_vec());
        lints.extend_from_slice(&ImplicitAutorefs::lint_vec());
        lints.extend_from_slice(&UnusedResults::lint_vec());
        lints.extend_from_slice(&UnitBindings::lint_vec());
        lints.extend_from_slice(&NonUpperCaseGlobals::lint_vec());
        lints.extend_from_slice(&NonShorthandFieldPatterns::lint_vec());
        lints.extend_from_slice(&UnusedAllocation::lint_vec());
        lints.extend_from_slice(&MissingCopyImplementations::lint_vec());
        lints.extend_from_slice(&PtrNullChecks::lint_vec());
        lints.extend_from_slice(&MutableTransmutes::lint_vec());
        lints.extend_from_slice(&TypeAliasBounds::lint_vec());
        lints.extend_from_slice(&TrivialConstraints::lint_vec());
        lints.extend_from_slice(&TypeLimits::lint_vec());
        lints.extend_from_slice(&NonSnakeCase::lint_vec());
        lints.extend_from_slice(&InvalidNoMangleItems::lint_vec());
        lints.extend_from_slice(&UnreachablePub::lint_vec());
        lints.extend_from_slice(&ExplicitOutlivesRequirements::lint_vec());
        lints.extend_from_slice(&InvalidValue::lint_vec());
        lints.extend_from_slice(&DerefNullPtr::lint_vec());
        lints.extend_from_slice(&UnstableFeatures::lint_vec());
        lints.extend_from_slice(&UngatedAsyncFnTrackCaller::lint_vec());
        lints.extend_from_slice(&ShadowedIntoIter::lint_vec());
        lints.extend_from_slice(&DropTraitConstraints::lint_vec());
        lints.extend_from_slice(&DanglingPointers::lint_vec());
        lints.extend_from_slice(&NonPanicFmt::lint_vec());
        lints.extend_from_slice(&NoopMethodCall::lint_vec());
        lints.extend_from_slice(&EnumIntrinsicsNonEnums::lint_vec());
        lints.extend_from_slice(&InvalidAtomicOrdering::lint_vec());
        lints.extend_from_slice(&AsmLabels::lint_vec());
        lints.extend_from_slice(&OpaqueHiddenInferredBound::lint_vec());
        lints.extend_from_slice(&MultipleSupertraitUpcastable::lint_vec());
        lints.extend_from_slice(&MapUnitFn::lint_vec());
        lints.extend_from_slice(&MissingDebugImplementations::lint_vec());
        lints.extend_from_slice(&MissingDoc::lint_vec());
        lints.extend_from_slice(&AsyncClosureUsage::lint_vec());
        lints.extend_from_slice(&AsyncFnInTrait::lint_vec());
        lints.extend_from_slice(&NonLocalDefinitions::lint_vec());
        lints.extend_from_slice(&InteriorMutableConsts::lint_vec());
        lints.extend_from_slice(&ImplTraitOvercaptures::lint_vec());
        lints.extend_from_slice(&IfLetRescope::lint_vec());
        lints.extend_from_slice(&StaticMutRefs::lint_vec());
        lints.extend_from_slice(&UnqualifiedLocalImports::lint_vec());
        lints.extend_from_slice(&FunctionCastsAsInteger::lint_vec());
        lints.extend_from_slice(&CheckTransmutes::lint_vec());
        lints.extend_from_slice(&LifetimeSyntax::lint_vec());
        lints
    }
}
impl<'tcx> crate::LateLintPass<'tcx> for BuiltinCombinedModuleLateLintPass {
    fn check_body(&mut self, context: &crate::LateContext<'tcx>,
        a: &rustc_hir::Body<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_body(context, a);
            self.DefaultCouldBeDerived.check_body(context, a);
            self.DerefIntoDynSupertrait.check_body(context, a);
            self.DropForgetUseless.check_body(context, a);
            self.ImproperCTypesLint.check_body(context, a);
            self.ImproperGpuKernelLint.check_body(context, a);
            self.InvalidFromUtf8.check_body(context, a);
            self.VariantSizeDifferences.check_body(context, a);
            self.PathStatements.check_body(context, a);
            self.LetUnderscore.check_body(context, a);
            self.InvalidReferenceCasting.check_body(context, a);
            self.ImplicitAutorefs.check_body(context, a);
            self.UnusedResults.check_body(context, a);
            self.UnitBindings.check_body(context, a);
            self.NonUpperCaseGlobals.check_body(context, a);
            self.NonShorthandFieldPatterns.check_body(context, a);
            self.UnusedAllocation.check_body(context, a);
            self.MissingCopyImplementations.check_body(context, a);
            self.PtrNullChecks.check_body(context, a);
            self.MutableTransmutes.check_body(context, a);
            self.TypeAliasBounds.check_body(context, a);
            self.TrivialConstraints.check_body(context, a);
            self.TypeLimits.check_body(context, a);
            self.NonSnakeCase.check_body(context, a);
            self.InvalidNoMangleItems.check_body(context, a);
            self.UnreachablePub.check_body(context, a);
            self.ExplicitOutlivesRequirements.check_body(context, a);
            self.InvalidValue.check_body(context, a);
            self.DerefNullPtr.check_body(context, a);
            self.UnstableFeatures.check_body(context, a);
            self.UngatedAsyncFnTrackCaller.check_body(context, a);
            self.ShadowedIntoIter.check_body(context, a);
            self.DropTraitConstraints.check_body(context, a);
            self.DanglingPointers.check_body(context, a);
            self.NonPanicFmt.check_body(context, a);
            self.NoopMethodCall.check_body(context, a);
            self.EnumIntrinsicsNonEnums.check_body(context, a);
            self.InvalidAtomicOrdering.check_body(context, a);
            self.AsmLabels.check_body(context, a);
            self.OpaqueHiddenInferredBound.check_body(context, a);
            self.MultipleSupertraitUpcastable.check_body(context, a);
            self.MapUnitFn.check_body(context, a);
            self.MissingDebugImplementations.check_body(context, a);
            self.MissingDoc.check_body(context, a);
            self.AsyncClosureUsage.check_body(context, a);
            self.AsyncFnInTrait.check_body(context, a);
            self.NonLocalDefinitions.check_body(context, a);
            self.InteriorMutableConsts.check_body(context, a);
            self.ImplTraitOvercaptures.check_body(context, a);
            self.IfLetRescope.check_body(context, a);
            self.StaticMutRefs.check_body(context, a);
            self.UnqualifiedLocalImports.check_body(context, a);
            self.FunctionCastsAsInteger.check_body(context, a);
            self.CheckTransmutes.check_body(context, a);
            self.LifetimeSyntax.check_body(context, a);
        };
    }
    fn check_body_post(&mut self, context: &crate::LateContext<'tcx>,
        a: &rustc_hir::Body<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_body_post(context, a);
            self.DefaultCouldBeDerived.check_body_post(context, a);
            self.DerefIntoDynSupertrait.check_body_post(context, a);
            self.DropForgetUseless.check_body_post(context, a);
            self.ImproperCTypesLint.check_body_post(context, a);
            self.ImproperGpuKernelLint.check_body_post(context, a);
            self.InvalidFromUtf8.check_body_post(context, a);
            self.VariantSizeDifferences.check_body_post(context, a);
            self.PathStatements.check_body_post(context, a);
            self.LetUnderscore.check_body_post(context, a);
            self.InvalidReferenceCasting.check_body_post(context, a);
            self.ImplicitAutorefs.check_body_post(context, a);
            self.UnusedResults.check_body_post(context, a);
            self.UnitBindings.check_body_post(context, a);
            self.NonUpperCaseGlobals.check_body_post(context, a);
            self.NonShorthandFieldPatterns.check_body_post(context, a);
            self.UnusedAllocation.check_body_post(context, a);
            self.MissingCopyImplementations.check_body_post(context, a);
            self.PtrNullChecks.check_body_post(context, a);
            self.MutableTransmutes.check_body_post(context, a);
            self.TypeAliasBounds.check_body_post(context, a);
            self.TrivialConstraints.check_body_post(context, a);
            self.TypeLimits.check_body_post(context, a);
            self.NonSnakeCase.check_body_post(context, a);
            self.InvalidNoMangleItems.check_body_post(context, a);
            self.UnreachablePub.check_body_post(context, a);
            self.ExplicitOutlivesRequirements.check_body_post(context, a);
            self.InvalidValue.check_body_post(context, a);
            self.DerefNullPtr.check_body_post(context, a);
            self.UnstableFeatures.check_body_post(context, a);
            self.UngatedAsyncFnTrackCaller.check_body_post(context, a);
            self.ShadowedIntoIter.check_body_post(context, a);
            self.DropTraitConstraints.check_body_post(context, a);
            self.DanglingPointers.check_body_post(context, a);
            self.NonPanicFmt.check_body_post(context, a);
            self.NoopMethodCall.check_body_post(context, a);
            self.EnumIntrinsicsNonEnums.check_body_post(context, a);
            self.InvalidAtomicOrdering.check_body_post(context, a);
            self.AsmLabels.check_body_post(context, a);
            self.OpaqueHiddenInferredBound.check_body_post(context, a);
            self.MultipleSupertraitUpcastable.check_body_post(context, a);
            self.MapUnitFn.check_body_post(context, a);
            self.MissingDebugImplementations.check_body_post(context, a);
            self.MissingDoc.check_body_post(context, a);
            self.AsyncClosureUsage.check_body_post(context, a);
            self.AsyncFnInTrait.check_body_post(context, a);
            self.NonLocalDefinitions.check_body_post(context, a);
            self.InteriorMutableConsts.check_body_post(context, a);
            self.ImplTraitOvercaptures.check_body_post(context, a);
            self.IfLetRescope.check_body_post(context, a);
            self.StaticMutRefs.check_body_post(context, a);
            self.UnqualifiedLocalImports.check_body_post(context, a);
            self.FunctionCastsAsInteger.check_body_post(context, a);
            self.CheckTransmutes.check_body_post(context, a);
            self.LifetimeSyntax.check_body_post(context, a);
        };
    }
    fn check_crate(&mut self, context: &crate::LateContext<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_crate(context);
            self.DefaultCouldBeDerived.check_crate(context);
            self.DerefIntoDynSupertrait.check_crate(context);
            self.DropForgetUseless.check_crate(context);
            self.ImproperCTypesLint.check_crate(context);
            self.ImproperGpuKernelLint.check_crate(context);
            self.InvalidFromUtf8.check_crate(context);
            self.VariantSizeDifferences.check_crate(context);
            self.PathStatements.check_crate(context);
            self.LetUnderscore.check_crate(context);
            self.InvalidReferenceCasting.check_crate(context);
            self.ImplicitAutorefs.check_crate(context);
            self.UnusedResults.check_crate(context);
            self.UnitBindings.check_crate(context);
            self.NonUpperCaseGlobals.check_crate(context);
            self.NonShorthandFieldPatterns.check_crate(context);
            self.UnusedAllocation.check_crate(context);
            self.MissingCopyImplementations.check_crate(context);
            self.PtrNullChecks.check_crate(context);
            self.MutableTransmutes.check_crate(context);
            self.TypeAliasBounds.check_crate(context);
            self.TrivialConstraints.check_crate(context);
            self.TypeLimits.check_crate(context);
            self.NonSnakeCase.check_crate(context);
            self.InvalidNoMangleItems.check_crate(context);
            self.UnreachablePub.check_crate(context);
            self.ExplicitOutlivesRequirements.check_crate(context);
            self.InvalidValue.check_crate(context);
            self.DerefNullPtr.check_crate(context);
            self.UnstableFeatures.check_crate(context);
            self.UngatedAsyncFnTrackCaller.check_crate(context);
            self.ShadowedIntoIter.check_crate(context);
            self.DropTraitConstraints.check_crate(context);
            self.DanglingPointers.check_crate(context);
            self.NonPanicFmt.check_crate(context);
            self.NoopMethodCall.check_crate(context);
            self.EnumIntrinsicsNonEnums.check_crate(context);
            self.InvalidAtomicOrdering.check_crate(context);
            self.AsmLabels.check_crate(context);
            self.OpaqueHiddenInferredBound.check_crate(context);
            self.MultipleSupertraitUpcastable.check_crate(context);
            self.MapUnitFn.check_crate(context);
            self.MissingDebugImplementations.check_crate(context);
            self.MissingDoc.check_crate(context);
            self.AsyncClosureUsage.check_crate(context);
            self.AsyncFnInTrait.check_crate(context);
            self.NonLocalDefinitions.check_crate(context);
            self.InteriorMutableConsts.check_crate(context);
            self.ImplTraitOvercaptures.check_crate(context);
            self.IfLetRescope.check_crate(context);
            self.StaticMutRefs.check_crate(context);
            self.UnqualifiedLocalImports.check_crate(context);
            self.FunctionCastsAsInteger.check_crate(context);
            self.CheckTransmutes.check_crate(context);
            self.LifetimeSyntax.check_crate(context);
        };
    }
    fn check_crate_post(&mut self, context: &crate::LateContext<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_crate_post(context);
            self.DefaultCouldBeDerived.check_crate_post(context);
            self.DerefIntoDynSupertrait.check_crate_post(context);
            self.DropForgetUseless.check_crate_post(context);
            self.ImproperCTypesLint.check_crate_post(context);
            self.ImproperGpuKernelLint.check_crate_post(context);
            self.InvalidFromUtf8.check_crate_post(context);
            self.VariantSizeDifferences.check_crate_post(context);
            self.PathStatements.check_crate_post(context);
            self.LetUnderscore.check_crate_post(context);
            self.InvalidReferenceCasting.check_crate_post(context);
            self.ImplicitAutorefs.check_crate_post(context);
            self.UnusedResults.check_crate_post(context);
            self.UnitBindings.check_crate_post(context);
            self.NonUpperCaseGlobals.check_crate_post(context);
            self.NonShorthandFieldPatterns.check_crate_post(context);
            self.UnusedAllocation.check_crate_post(context);
            self.MissingCopyImplementations.check_crate_post(context);
            self.PtrNullChecks.check_crate_post(context);
            self.MutableTransmutes.check_crate_post(context);
            self.TypeAliasBounds.check_crate_post(context);
            self.TrivialConstraints.check_crate_post(context);
            self.TypeLimits.check_crate_post(context);
            self.NonSnakeCase.check_crate_post(context);
            self.InvalidNoMangleItems.check_crate_post(context);
            self.UnreachablePub.check_crate_post(context);
            self.ExplicitOutlivesRequirements.check_crate_post(context);
            self.InvalidValue.check_crate_post(context);
            self.DerefNullPtr.check_crate_post(context);
            self.UnstableFeatures.check_crate_post(context);
            self.UngatedAsyncFnTrackCaller.check_crate_post(context);
            self.ShadowedIntoIter.check_crate_post(context);
            self.DropTraitConstraints.check_crate_post(context);
            self.DanglingPointers.check_crate_post(context);
            self.NonPanicFmt.check_crate_post(context);
            self.NoopMethodCall.check_crate_post(context);
            self.EnumIntrinsicsNonEnums.check_crate_post(context);
            self.InvalidAtomicOrdering.check_crate_post(context);
            self.AsmLabels.check_crate_post(context);
            self.OpaqueHiddenInferredBound.check_crate_post(context);
            self.MultipleSupertraitUpcastable.check_crate_post(context);
            self.MapUnitFn.check_crate_post(context);
            self.MissingDebugImplementations.check_crate_post(context);
            self.MissingDoc.check_crate_post(context);
            self.AsyncClosureUsage.check_crate_post(context);
            self.AsyncFnInTrait.check_crate_post(context);
            self.NonLocalDefinitions.check_crate_post(context);
            self.InteriorMutableConsts.check_crate_post(context);
            self.ImplTraitOvercaptures.check_crate_post(context);
            self.IfLetRescope.check_crate_post(context);
            self.StaticMutRefs.check_crate_post(context);
            self.UnqualifiedLocalImports.check_crate_post(context);
            self.FunctionCastsAsInteger.check_crate_post(context);
            self.CheckTransmutes.check_crate_post(context);
            self.LifetimeSyntax.check_crate_post(context);
        };
    }
    fn check_mod(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Mod<'tcx>, b: rustc_hir::HirId) {
        {
            self.ForLoopsOverFallibles.check_mod(context, a, b);
            self.DefaultCouldBeDerived.check_mod(context, a, b);
            self.DerefIntoDynSupertrait.check_mod(context, a, b);
            self.DropForgetUseless.check_mod(context, a, b);
            self.ImproperCTypesLint.check_mod(context, a, b);
            self.ImproperGpuKernelLint.check_mod(context, a, b);
            self.InvalidFromUtf8.check_mod(context, a, b);
            self.VariantSizeDifferences.check_mod(context, a, b);
            self.PathStatements.check_mod(context, a, b);
            self.LetUnderscore.check_mod(context, a, b);
            self.InvalidReferenceCasting.check_mod(context, a, b);
            self.ImplicitAutorefs.check_mod(context, a, b);
            self.UnusedResults.check_mod(context, a, b);
            self.UnitBindings.check_mod(context, a, b);
            self.NonUpperCaseGlobals.check_mod(context, a, b);
            self.NonShorthandFieldPatterns.check_mod(context, a, b);
            self.UnusedAllocation.check_mod(context, a, b);
            self.MissingCopyImplementations.check_mod(context, a, b);
            self.PtrNullChecks.check_mod(context, a, b);
            self.MutableTransmutes.check_mod(context, a, b);
            self.TypeAliasBounds.check_mod(context, a, b);
            self.TrivialConstraints.check_mod(context, a, b);
            self.TypeLimits.check_mod(context, a, b);
            self.NonSnakeCase.check_mod(context, a, b);
            self.InvalidNoMangleItems.check_mod(context, a, b);
            self.UnreachablePub.check_mod(context, a, b);
            self.ExplicitOutlivesRequirements.check_mod(context, a, b);
            self.InvalidValue.check_mod(context, a, b);
            self.DerefNullPtr.check_mod(context, a, b);
            self.UnstableFeatures.check_mod(context, a, b);
            self.UngatedAsyncFnTrackCaller.check_mod(context, a, b);
            self.ShadowedIntoIter.check_mod(context, a, b);
            self.DropTraitConstraints.check_mod(context, a, b);
            self.DanglingPointers.check_mod(context, a, b);
            self.NonPanicFmt.check_mod(context, a, b);
            self.NoopMethodCall.check_mod(context, a, b);
            self.EnumIntrinsicsNonEnums.check_mod(context, a, b);
            self.InvalidAtomicOrdering.check_mod(context, a, b);
            self.AsmLabels.check_mod(context, a, b);
            self.OpaqueHiddenInferredBound.check_mod(context, a, b);
            self.MultipleSupertraitUpcastable.check_mod(context, a, b);
            self.MapUnitFn.check_mod(context, a, b);
            self.MissingDebugImplementations.check_mod(context, a, b);
            self.MissingDoc.check_mod(context, a, b);
            self.AsyncClosureUsage.check_mod(context, a, b);
            self.AsyncFnInTrait.check_mod(context, a, b);
            self.NonLocalDefinitions.check_mod(context, a, b);
            self.InteriorMutableConsts.check_mod(context, a, b);
            self.ImplTraitOvercaptures.check_mod(context, a, b);
            self.IfLetRescope.check_mod(context, a, b);
            self.StaticMutRefs.check_mod(context, a, b);
            self.UnqualifiedLocalImports.check_mod(context, a, b);
            self.FunctionCastsAsInteger.check_mod(context, a, b);
            self.CheckTransmutes.check_mod(context, a, b);
            self.LifetimeSyntax.check_mod(context, a, b);
        };
    }
    fn check_foreign_item(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::ForeignItem<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_foreign_item(context, a);
            self.DefaultCouldBeDerived.check_foreign_item(context, a);
            self.DerefIntoDynSupertrait.check_foreign_item(context, a);
            self.DropForgetUseless.check_foreign_item(context, a);
            self.ImproperCTypesLint.check_foreign_item(context, a);
            self.ImproperGpuKernelLint.check_foreign_item(context, a);
            self.InvalidFromUtf8.check_foreign_item(context, a);
            self.VariantSizeDifferences.check_foreign_item(context, a);
            self.PathStatements.check_foreign_item(context, a);
            self.LetUnderscore.check_foreign_item(context, a);
            self.InvalidReferenceCasting.check_foreign_item(context, a);
            self.ImplicitAutorefs.check_foreign_item(context, a);
            self.UnusedResults.check_foreign_item(context, a);
            self.UnitBindings.check_foreign_item(context, a);
            self.NonUpperCaseGlobals.check_foreign_item(context, a);
            self.NonShorthandFieldPatterns.check_foreign_item(context, a);
            self.UnusedAllocation.check_foreign_item(context, a);
            self.MissingCopyImplementations.check_foreign_item(context, a);
            self.PtrNullChecks.check_foreign_item(context, a);
            self.MutableTransmutes.check_foreign_item(context, a);
            self.TypeAliasBounds.check_foreign_item(context, a);
            self.TrivialConstraints.check_foreign_item(context, a);
            self.TypeLimits.check_foreign_item(context, a);
            self.NonSnakeCase.check_foreign_item(context, a);
            self.InvalidNoMangleItems.check_foreign_item(context, a);
            self.UnreachablePub.check_foreign_item(context, a);
            self.ExplicitOutlivesRequirements.check_foreign_item(context, a);
            self.InvalidValue.check_foreign_item(context, a);
            self.DerefNullPtr.check_foreign_item(context, a);
            self.UnstableFeatures.check_foreign_item(context, a);
            self.UngatedAsyncFnTrackCaller.check_foreign_item(context, a);
            self.ShadowedIntoIter.check_foreign_item(context, a);
            self.DropTraitConstraints.check_foreign_item(context, a);
            self.DanglingPointers.check_foreign_item(context, a);
            self.NonPanicFmt.check_foreign_item(context, a);
            self.NoopMethodCall.check_foreign_item(context, a);
            self.EnumIntrinsicsNonEnums.check_foreign_item(context, a);
            self.InvalidAtomicOrdering.check_foreign_item(context, a);
            self.AsmLabels.check_foreign_item(context, a);
            self.OpaqueHiddenInferredBound.check_foreign_item(context, a);
            self.MultipleSupertraitUpcastable.check_foreign_item(context, a);
            self.MapUnitFn.check_foreign_item(context, a);
            self.MissingDebugImplementations.check_foreign_item(context, a);
            self.MissingDoc.check_foreign_item(context, a);
            self.AsyncClosureUsage.check_foreign_item(context, a);
            self.AsyncFnInTrait.check_foreign_item(context, a);
            self.NonLocalDefinitions.check_foreign_item(context, a);
            self.InteriorMutableConsts.check_foreign_item(context, a);
            self.ImplTraitOvercaptures.check_foreign_item(context, a);
            self.IfLetRescope.check_foreign_item(context, a);
            self.StaticMutRefs.check_foreign_item(context, a);
            self.UnqualifiedLocalImports.check_foreign_item(context, a);
            self.FunctionCastsAsInteger.check_foreign_item(context, a);
            self.CheckTransmutes.check_foreign_item(context, a);
            self.LifetimeSyntax.check_foreign_item(context, a);
        };
    }
    fn check_item(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Item<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_item(context, a);
            self.DefaultCouldBeDerived.check_item(context, a);
            self.DerefIntoDynSupertrait.check_item(context, a);
            self.DropForgetUseless.check_item(context, a);
            self.ImproperCTypesLint.check_item(context, a);
            self.ImproperGpuKernelLint.check_item(context, a);
            self.InvalidFromUtf8.check_item(context, a);
            self.VariantSizeDifferences.check_item(context, a);
            self.PathStatements.check_item(context, a);
            self.LetUnderscore.check_item(context, a);
            self.InvalidReferenceCasting.check_item(context, a);
            self.ImplicitAutorefs.check_item(context, a);
            self.UnusedResults.check_item(context, a);
            self.UnitBindings.check_item(context, a);
            self.NonUpperCaseGlobals.check_item(context, a);
            self.NonShorthandFieldPatterns.check_item(context, a);
            self.UnusedAllocation.check_item(context, a);
            self.MissingCopyImplementations.check_item(context, a);
            self.PtrNullChecks.check_item(context, a);
            self.MutableTransmutes.check_item(context, a);
            self.TypeAliasBounds.check_item(context, a);
            self.TrivialConstraints.check_item(context, a);
            self.TypeLimits.check_item(context, a);
            self.NonSnakeCase.check_item(context, a);
            self.InvalidNoMangleItems.check_item(context, a);
            self.UnreachablePub.check_item(context, a);
            self.ExplicitOutlivesRequirements.check_item(context, a);
            self.InvalidValue.check_item(context, a);
            self.DerefNullPtr.check_item(context, a);
            self.UnstableFeatures.check_item(context, a);
            self.UngatedAsyncFnTrackCaller.check_item(context, a);
            self.ShadowedIntoIter.check_item(context, a);
            self.DropTraitConstraints.check_item(context, a);
            self.DanglingPointers.check_item(context, a);
            self.NonPanicFmt.check_item(context, a);
            self.NoopMethodCall.check_item(context, a);
            self.EnumIntrinsicsNonEnums.check_item(context, a);
            self.InvalidAtomicOrdering.check_item(context, a);
            self.AsmLabels.check_item(context, a);
            self.OpaqueHiddenInferredBound.check_item(context, a);
            self.MultipleSupertraitUpcastable.check_item(context, a);
            self.MapUnitFn.check_item(context, a);
            self.MissingDebugImplementations.check_item(context, a);
            self.MissingDoc.check_item(context, a);
            self.AsyncClosureUsage.check_item(context, a);
            self.AsyncFnInTrait.check_item(context, a);
            self.NonLocalDefinitions.check_item(context, a);
            self.InteriorMutableConsts.check_item(context, a);
            self.ImplTraitOvercaptures.check_item(context, a);
            self.IfLetRescope.check_item(context, a);
            self.StaticMutRefs.check_item(context, a);
            self.UnqualifiedLocalImports.check_item(context, a);
            self.FunctionCastsAsInteger.check_item(context, a);
            self.CheckTransmutes.check_item(context, a);
            self.LifetimeSyntax.check_item(context, a);
        };
    }
    fn check_item_post(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Item<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_item_post(context, a);
            self.DefaultCouldBeDerived.check_item_post(context, a);
            self.DerefIntoDynSupertrait.check_item_post(context, a);
            self.DropForgetUseless.check_item_post(context, a);
            self.ImproperCTypesLint.check_item_post(context, a);
            self.ImproperGpuKernelLint.check_item_post(context, a);
            self.InvalidFromUtf8.check_item_post(context, a);
            self.VariantSizeDifferences.check_item_post(context, a);
            self.PathStatements.check_item_post(context, a);
            self.LetUnderscore.check_item_post(context, a);
            self.InvalidReferenceCasting.check_item_post(context, a);
            self.ImplicitAutorefs.check_item_post(context, a);
            self.UnusedResults.check_item_post(context, a);
            self.UnitBindings.check_item_post(context, a);
            self.NonUpperCaseGlobals.check_item_post(context, a);
            self.NonShorthandFieldPatterns.check_item_post(context, a);
            self.UnusedAllocation.check_item_post(context, a);
            self.MissingCopyImplementations.check_item_post(context, a);
            self.PtrNullChecks.check_item_post(context, a);
            self.MutableTransmutes.check_item_post(context, a);
            self.TypeAliasBounds.check_item_post(context, a);
            self.TrivialConstraints.check_item_post(context, a);
            self.TypeLimits.check_item_post(context, a);
            self.NonSnakeCase.check_item_post(context, a);
            self.InvalidNoMangleItems.check_item_post(context, a);
            self.UnreachablePub.check_item_post(context, a);
            self.ExplicitOutlivesRequirements.check_item_post(context, a);
            self.InvalidValue.check_item_post(context, a);
            self.DerefNullPtr.check_item_post(context, a);
            self.UnstableFeatures.check_item_post(context, a);
            self.UngatedAsyncFnTrackCaller.check_item_post(context, a);
            self.ShadowedIntoIter.check_item_post(context, a);
            self.DropTraitConstraints.check_item_post(context, a);
            self.DanglingPointers.check_item_post(context, a);
            self.NonPanicFmt.check_item_post(context, a);
            self.NoopMethodCall.check_item_post(context, a);
            self.EnumIntrinsicsNonEnums.check_item_post(context, a);
            self.InvalidAtomicOrdering.check_item_post(context, a);
            self.AsmLabels.check_item_post(context, a);
            self.OpaqueHiddenInferredBound.check_item_post(context, a);
            self.MultipleSupertraitUpcastable.check_item_post(context, a);
            self.MapUnitFn.check_item_post(context, a);
            self.MissingDebugImplementations.check_item_post(context, a);
            self.MissingDoc.check_item_post(context, a);
            self.AsyncClosureUsage.check_item_post(context, a);
            self.AsyncFnInTrait.check_item_post(context, a);
            self.NonLocalDefinitions.check_item_post(context, a);
            self.InteriorMutableConsts.check_item_post(context, a);
            self.ImplTraitOvercaptures.check_item_post(context, a);
            self.IfLetRescope.check_item_post(context, a);
            self.StaticMutRefs.check_item_post(context, a);
            self.UnqualifiedLocalImports.check_item_post(context, a);
            self.FunctionCastsAsInteger.check_item_post(context, a);
            self.CheckTransmutes.check_item_post(context, a);
            self.LifetimeSyntax.check_item_post(context, a);
        };
    }
    fn check_local(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::LetStmt<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_local(context, a);
            self.DefaultCouldBeDerived.check_local(context, a);
            self.DerefIntoDynSupertrait.check_local(context, a);
            self.DropForgetUseless.check_local(context, a);
            self.ImproperCTypesLint.check_local(context, a);
            self.ImproperGpuKernelLint.check_local(context, a);
            self.InvalidFromUtf8.check_local(context, a);
            self.VariantSizeDifferences.check_local(context, a);
            self.PathStatements.check_local(context, a);
            self.LetUnderscore.check_local(context, a);
            self.InvalidReferenceCasting.check_local(context, a);
            self.ImplicitAutorefs.check_local(context, a);
            self.UnusedResults.check_local(context, a);
            self.UnitBindings.check_local(context, a);
            self.NonUpperCaseGlobals.check_local(context, a);
            self.NonShorthandFieldPatterns.check_local(context, a);
            self.UnusedAllocation.check_local(context, a);
            self.MissingCopyImplementations.check_local(context, a);
            self.PtrNullChecks.check_local(context, a);
            self.MutableTransmutes.check_local(context, a);
            self.TypeAliasBounds.check_local(context, a);
            self.TrivialConstraints.check_local(context, a);
            self.TypeLimits.check_local(context, a);
            self.NonSnakeCase.check_local(context, a);
            self.InvalidNoMangleItems.check_local(context, a);
            self.UnreachablePub.check_local(context, a);
            self.ExplicitOutlivesRequirements.check_local(context, a);
            self.InvalidValue.check_local(context, a);
            self.DerefNullPtr.check_local(context, a);
            self.UnstableFeatures.check_local(context, a);
            self.UngatedAsyncFnTrackCaller.check_local(context, a);
            self.ShadowedIntoIter.check_local(context, a);
            self.DropTraitConstraints.check_local(context, a);
            self.DanglingPointers.check_local(context, a);
            self.NonPanicFmt.check_local(context, a);
            self.NoopMethodCall.check_local(context, a);
            self.EnumIntrinsicsNonEnums.check_local(context, a);
            self.InvalidAtomicOrdering.check_local(context, a);
            self.AsmLabels.check_local(context, a);
            self.OpaqueHiddenInferredBound.check_local(context, a);
            self.MultipleSupertraitUpcastable.check_local(context, a);
            self.MapUnitFn.check_local(context, a);
            self.MissingDebugImplementations.check_local(context, a);
            self.MissingDoc.check_local(context, a);
            self.AsyncClosureUsage.check_local(context, a);
            self.AsyncFnInTrait.check_local(context, a);
            self.NonLocalDefinitions.check_local(context, a);
            self.InteriorMutableConsts.check_local(context, a);
            self.ImplTraitOvercaptures.check_local(context, a);
            self.IfLetRescope.check_local(context, a);
            self.StaticMutRefs.check_local(context, a);
            self.UnqualifiedLocalImports.check_local(context, a);
            self.FunctionCastsAsInteger.check_local(context, a);
            self.CheckTransmutes.check_local(context, a);
            self.LifetimeSyntax.check_local(context, a);
        };
    }
    fn check_block(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Block<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_block(context, a);
            self.DefaultCouldBeDerived.check_block(context, a);
            self.DerefIntoDynSupertrait.check_block(context, a);
            self.DropForgetUseless.check_block(context, a);
            self.ImproperCTypesLint.check_block(context, a);
            self.ImproperGpuKernelLint.check_block(context, a);
            self.InvalidFromUtf8.check_block(context, a);
            self.VariantSizeDifferences.check_block(context, a);
            self.PathStatements.check_block(context, a);
            self.LetUnderscore.check_block(context, a);
            self.InvalidReferenceCasting.check_block(context, a);
            self.ImplicitAutorefs.check_block(context, a);
            self.UnusedResults.check_block(context, a);
            self.UnitBindings.check_block(context, a);
            self.NonUpperCaseGlobals.check_block(context, a);
            self.NonShorthandFieldPatterns.check_block(context, a);
            self.UnusedAllocation.check_block(context, a);
            self.MissingCopyImplementations.check_block(context, a);
            self.PtrNullChecks.check_block(context, a);
            self.MutableTransmutes.check_block(context, a);
            self.TypeAliasBounds.check_block(context, a);
            self.TrivialConstraints.check_block(context, a);
            self.TypeLimits.check_block(context, a);
            self.NonSnakeCase.check_block(context, a);
            self.InvalidNoMangleItems.check_block(context, a);
            self.UnreachablePub.check_block(context, a);
            self.ExplicitOutlivesRequirements.check_block(context, a);
            self.InvalidValue.check_block(context, a);
            self.DerefNullPtr.check_block(context, a);
            self.UnstableFeatures.check_block(context, a);
            self.UngatedAsyncFnTrackCaller.check_block(context, a);
            self.ShadowedIntoIter.check_block(context, a);
            self.DropTraitConstraints.check_block(context, a);
            self.DanglingPointers.check_block(context, a);
            self.NonPanicFmt.check_block(context, a);
            self.NoopMethodCall.check_block(context, a);
            self.EnumIntrinsicsNonEnums.check_block(context, a);
            self.InvalidAtomicOrdering.check_block(context, a);
            self.AsmLabels.check_block(context, a);
            self.OpaqueHiddenInferredBound.check_block(context, a);
            self.MultipleSupertraitUpcastable.check_block(context, a);
            self.MapUnitFn.check_block(context, a);
            self.MissingDebugImplementations.check_block(context, a);
            self.MissingDoc.check_block(context, a);
            self.AsyncClosureUsage.check_block(context, a);
            self.AsyncFnInTrait.check_block(context, a);
            self.NonLocalDefinitions.check_block(context, a);
            self.InteriorMutableConsts.check_block(context, a);
            self.ImplTraitOvercaptures.check_block(context, a);
            self.IfLetRescope.check_block(context, a);
            self.StaticMutRefs.check_block(context, a);
            self.UnqualifiedLocalImports.check_block(context, a);
            self.FunctionCastsAsInteger.check_block(context, a);
            self.CheckTransmutes.check_block(context, a);
            self.LifetimeSyntax.check_block(context, a);
        };
    }
    fn check_block_post(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Block<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_block_post(context, a);
            self.DefaultCouldBeDerived.check_block_post(context, a);
            self.DerefIntoDynSupertrait.check_block_post(context, a);
            self.DropForgetUseless.check_block_post(context, a);
            self.ImproperCTypesLint.check_block_post(context, a);
            self.ImproperGpuKernelLint.check_block_post(context, a);
            self.InvalidFromUtf8.check_block_post(context, a);
            self.VariantSizeDifferences.check_block_post(context, a);
            self.PathStatements.check_block_post(context, a);
            self.LetUnderscore.check_block_post(context, a);
            self.InvalidReferenceCasting.check_block_post(context, a);
            self.ImplicitAutorefs.check_block_post(context, a);
            self.UnusedResults.check_block_post(context, a);
            self.UnitBindings.check_block_post(context, a);
            self.NonUpperCaseGlobals.check_block_post(context, a);
            self.NonShorthandFieldPatterns.check_block_post(context, a);
            self.UnusedAllocation.check_block_post(context, a);
            self.MissingCopyImplementations.check_block_post(context, a);
            self.PtrNullChecks.check_block_post(context, a);
            self.MutableTransmutes.check_block_post(context, a);
            self.TypeAliasBounds.check_block_post(context, a);
            self.TrivialConstraints.check_block_post(context, a);
            self.TypeLimits.check_block_post(context, a);
            self.NonSnakeCase.check_block_post(context, a);
            self.InvalidNoMangleItems.check_block_post(context, a);
            self.UnreachablePub.check_block_post(context, a);
            self.ExplicitOutlivesRequirements.check_block_post(context, a);
            self.InvalidValue.check_block_post(context, a);
            self.DerefNullPtr.check_block_post(context, a);
            self.UnstableFeatures.check_block_post(context, a);
            self.UngatedAsyncFnTrackCaller.check_block_post(context, a);
            self.ShadowedIntoIter.check_block_post(context, a);
            self.DropTraitConstraints.check_block_post(context, a);
            self.DanglingPointers.check_block_post(context, a);
            self.NonPanicFmt.check_block_post(context, a);
            self.NoopMethodCall.check_block_post(context, a);
            self.EnumIntrinsicsNonEnums.check_block_post(context, a);
            self.InvalidAtomicOrdering.check_block_post(context, a);
            self.AsmLabels.check_block_post(context, a);
            self.OpaqueHiddenInferredBound.check_block_post(context, a);
            self.MultipleSupertraitUpcastable.check_block_post(context, a);
            self.MapUnitFn.check_block_post(context, a);
            self.MissingDebugImplementations.check_block_post(context, a);
            self.MissingDoc.check_block_post(context, a);
            self.AsyncClosureUsage.check_block_post(context, a);
            self.AsyncFnInTrait.check_block_post(context, a);
            self.NonLocalDefinitions.check_block_post(context, a);
            self.InteriorMutableConsts.check_block_post(context, a);
            self.ImplTraitOvercaptures.check_block_post(context, a);
            self.IfLetRescope.check_block_post(context, a);
            self.StaticMutRefs.check_block_post(context, a);
            self.UnqualifiedLocalImports.check_block_post(context, a);
            self.FunctionCastsAsInteger.check_block_post(context, a);
            self.CheckTransmutes.check_block_post(context, a);
            self.LifetimeSyntax.check_block_post(context, a);
        };
    }
    fn check_stmt(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Stmt<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_stmt(context, a);
            self.DefaultCouldBeDerived.check_stmt(context, a);
            self.DerefIntoDynSupertrait.check_stmt(context, a);
            self.DropForgetUseless.check_stmt(context, a);
            self.ImproperCTypesLint.check_stmt(context, a);
            self.ImproperGpuKernelLint.check_stmt(context, a);
            self.InvalidFromUtf8.check_stmt(context, a);
            self.VariantSizeDifferences.check_stmt(context, a);
            self.PathStatements.check_stmt(context, a);
            self.LetUnderscore.check_stmt(context, a);
            self.InvalidReferenceCasting.check_stmt(context, a);
            self.ImplicitAutorefs.check_stmt(context, a);
            self.UnusedResults.check_stmt(context, a);
            self.UnitBindings.check_stmt(context, a);
            self.NonUpperCaseGlobals.check_stmt(context, a);
            self.NonShorthandFieldPatterns.check_stmt(context, a);
            self.UnusedAllocation.check_stmt(context, a);
            self.MissingCopyImplementations.check_stmt(context, a);
            self.PtrNullChecks.check_stmt(context, a);
            self.MutableTransmutes.check_stmt(context, a);
            self.TypeAliasBounds.check_stmt(context, a);
            self.TrivialConstraints.check_stmt(context, a);
            self.TypeLimits.check_stmt(context, a);
            self.NonSnakeCase.check_stmt(context, a);
            self.InvalidNoMangleItems.check_stmt(context, a);
            self.UnreachablePub.check_stmt(context, a);
            self.ExplicitOutlivesRequirements.check_stmt(context, a);
            self.InvalidValue.check_stmt(context, a);
            self.DerefNullPtr.check_stmt(context, a);
            self.UnstableFeatures.check_stmt(context, a);
            self.UngatedAsyncFnTrackCaller.check_stmt(context, a);
            self.ShadowedIntoIter.check_stmt(context, a);
            self.DropTraitConstraints.check_stmt(context, a);
            self.DanglingPointers.check_stmt(context, a);
            self.NonPanicFmt.check_stmt(context, a);
            self.NoopMethodCall.check_stmt(context, a);
            self.EnumIntrinsicsNonEnums.check_stmt(context, a);
            self.InvalidAtomicOrdering.check_stmt(context, a);
            self.AsmLabels.check_stmt(context, a);
            self.OpaqueHiddenInferredBound.check_stmt(context, a);
            self.MultipleSupertraitUpcastable.check_stmt(context, a);
            self.MapUnitFn.check_stmt(context, a);
            self.MissingDebugImplementations.check_stmt(context, a);
            self.MissingDoc.check_stmt(context, a);
            self.AsyncClosureUsage.check_stmt(context, a);
            self.AsyncFnInTrait.check_stmt(context, a);
            self.NonLocalDefinitions.check_stmt(context, a);
            self.InteriorMutableConsts.check_stmt(context, a);
            self.ImplTraitOvercaptures.check_stmt(context, a);
            self.IfLetRescope.check_stmt(context, a);
            self.StaticMutRefs.check_stmt(context, a);
            self.UnqualifiedLocalImports.check_stmt(context, a);
            self.FunctionCastsAsInteger.check_stmt(context, a);
            self.CheckTransmutes.check_stmt(context, a);
            self.LifetimeSyntax.check_stmt(context, a);
        };
    }
    fn check_arm(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Arm<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_arm(context, a);
            self.DefaultCouldBeDerived.check_arm(context, a);
            self.DerefIntoDynSupertrait.check_arm(context, a);
            self.DropForgetUseless.check_arm(context, a);
            self.ImproperCTypesLint.check_arm(context, a);
            self.ImproperGpuKernelLint.check_arm(context, a);
            self.InvalidFromUtf8.check_arm(context, a);
            self.VariantSizeDifferences.check_arm(context, a);
            self.PathStatements.check_arm(context, a);
            self.LetUnderscore.check_arm(context, a);
            self.InvalidReferenceCasting.check_arm(context, a);
            self.ImplicitAutorefs.check_arm(context, a);
            self.UnusedResults.check_arm(context, a);
            self.UnitBindings.check_arm(context, a);
            self.NonUpperCaseGlobals.check_arm(context, a);
            self.NonShorthandFieldPatterns.check_arm(context, a);
            self.UnusedAllocation.check_arm(context, a);
            self.MissingCopyImplementations.check_arm(context, a);
            self.PtrNullChecks.check_arm(context, a);
            self.MutableTransmutes.check_arm(context, a);
            self.TypeAliasBounds.check_arm(context, a);
            self.TrivialConstraints.check_arm(context, a);
            self.TypeLimits.check_arm(context, a);
            self.NonSnakeCase.check_arm(context, a);
            self.InvalidNoMangleItems.check_arm(context, a);
            self.UnreachablePub.check_arm(context, a);
            self.ExplicitOutlivesRequirements.check_arm(context, a);
            self.InvalidValue.check_arm(context, a);
            self.DerefNullPtr.check_arm(context, a);
            self.UnstableFeatures.check_arm(context, a);
            self.UngatedAsyncFnTrackCaller.check_arm(context, a);
            self.ShadowedIntoIter.check_arm(context, a);
            self.DropTraitConstraints.check_arm(context, a);
            self.DanglingPointers.check_arm(context, a);
            self.NonPanicFmt.check_arm(context, a);
            self.NoopMethodCall.check_arm(context, a);
            self.EnumIntrinsicsNonEnums.check_arm(context, a);
            self.InvalidAtomicOrdering.check_arm(context, a);
            self.AsmLabels.check_arm(context, a);
            self.OpaqueHiddenInferredBound.check_arm(context, a);
            self.MultipleSupertraitUpcastable.check_arm(context, a);
            self.MapUnitFn.check_arm(context, a);
            self.MissingDebugImplementations.check_arm(context, a);
            self.MissingDoc.check_arm(context, a);
            self.AsyncClosureUsage.check_arm(context, a);
            self.AsyncFnInTrait.check_arm(context, a);
            self.NonLocalDefinitions.check_arm(context, a);
            self.InteriorMutableConsts.check_arm(context, a);
            self.ImplTraitOvercaptures.check_arm(context, a);
            self.IfLetRescope.check_arm(context, a);
            self.StaticMutRefs.check_arm(context, a);
            self.UnqualifiedLocalImports.check_arm(context, a);
            self.FunctionCastsAsInteger.check_arm(context, a);
            self.CheckTransmutes.check_arm(context, a);
            self.LifetimeSyntax.check_arm(context, a);
        };
    }
    fn check_pat(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Pat<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_pat(context, a);
            self.DefaultCouldBeDerived.check_pat(context, a);
            self.DerefIntoDynSupertrait.check_pat(context, a);
            self.DropForgetUseless.check_pat(context, a);
            self.ImproperCTypesLint.check_pat(context, a);
            self.ImproperGpuKernelLint.check_pat(context, a);
            self.InvalidFromUtf8.check_pat(context, a);
            self.VariantSizeDifferences.check_pat(context, a);
            self.PathStatements.check_pat(context, a);
            self.LetUnderscore.check_pat(context, a);
            self.InvalidReferenceCasting.check_pat(context, a);
            self.ImplicitAutorefs.check_pat(context, a);
            self.UnusedResults.check_pat(context, a);
            self.UnitBindings.check_pat(context, a);
            self.NonUpperCaseGlobals.check_pat(context, a);
            self.NonShorthandFieldPatterns.check_pat(context, a);
            self.UnusedAllocation.check_pat(context, a);
            self.MissingCopyImplementations.check_pat(context, a);
            self.PtrNullChecks.check_pat(context, a);
            self.MutableTransmutes.check_pat(context, a);
            self.TypeAliasBounds.check_pat(context, a);
            self.TrivialConstraints.check_pat(context, a);
            self.TypeLimits.check_pat(context, a);
            self.NonSnakeCase.check_pat(context, a);
            self.InvalidNoMangleItems.check_pat(context, a);
            self.UnreachablePub.check_pat(context, a);
            self.ExplicitOutlivesRequirements.check_pat(context, a);
            self.InvalidValue.check_pat(context, a);
            self.DerefNullPtr.check_pat(context, a);
            self.UnstableFeatures.check_pat(context, a);
            self.UngatedAsyncFnTrackCaller.check_pat(context, a);
            self.ShadowedIntoIter.check_pat(context, a);
            self.DropTraitConstraints.check_pat(context, a);
            self.DanglingPointers.check_pat(context, a);
            self.NonPanicFmt.check_pat(context, a);
            self.NoopMethodCall.check_pat(context, a);
            self.EnumIntrinsicsNonEnums.check_pat(context, a);
            self.InvalidAtomicOrdering.check_pat(context, a);
            self.AsmLabels.check_pat(context, a);
            self.OpaqueHiddenInferredBound.check_pat(context, a);
            self.MultipleSupertraitUpcastable.check_pat(context, a);
            self.MapUnitFn.check_pat(context, a);
            self.MissingDebugImplementations.check_pat(context, a);
            self.MissingDoc.check_pat(context, a);
            self.AsyncClosureUsage.check_pat(context, a);
            self.AsyncFnInTrait.check_pat(context, a);
            self.NonLocalDefinitions.check_pat(context, a);
            self.InteriorMutableConsts.check_pat(context, a);
            self.ImplTraitOvercaptures.check_pat(context, a);
            self.IfLetRescope.check_pat(context, a);
            self.StaticMutRefs.check_pat(context, a);
            self.UnqualifiedLocalImports.check_pat(context, a);
            self.FunctionCastsAsInteger.check_pat(context, a);
            self.CheckTransmutes.check_pat(context, a);
            self.LifetimeSyntax.check_pat(context, a);
        };
    }
    fn check_lit(&mut self, context: &crate::LateContext<'tcx>,
        hir_id: rustc_hir::HirId, a: rustc_hir::Lit, negated: bool) {
        {
            self.ForLoopsOverFallibles.check_lit(context, hir_id, a, negated);
            self.DefaultCouldBeDerived.check_lit(context, hir_id, a, negated);
            self.DerefIntoDynSupertrait.check_lit(context, hir_id, a,
                negated);
            self.DropForgetUseless.check_lit(context, hir_id, a, negated);
            self.ImproperCTypesLint.check_lit(context, hir_id, a, negated);
            self.ImproperGpuKernelLint.check_lit(context, hir_id, a, negated);
            self.InvalidFromUtf8.check_lit(context, hir_id, a, negated);
            self.VariantSizeDifferences.check_lit(context, hir_id, a,
                negated);
            self.PathStatements.check_lit(context, hir_id, a, negated);
            self.LetUnderscore.check_lit(context, hir_id, a, negated);
            self.InvalidReferenceCasting.check_lit(context, hir_id, a,
                negated);
            self.ImplicitAutorefs.check_lit(context, hir_id, a, negated);
            self.UnusedResults.check_lit(context, hir_id, a, negated);
            self.UnitBindings.check_lit(context, hir_id, a, negated);
            self.NonUpperCaseGlobals.check_lit(context, hir_id, a, negated);
            self.NonShorthandFieldPatterns.check_lit(context, hir_id, a,
                negated);
            self.UnusedAllocation.check_lit(context, hir_id, a, negated);
            self.MissingCopyImplementations.check_lit(context, hir_id, a,
                negated);
            self.PtrNullChecks.check_lit(context, hir_id, a, negated);
            self.MutableTransmutes.check_lit(context, hir_id, a, negated);
            self.TypeAliasBounds.check_lit(context, hir_id, a, negated);
            self.TrivialConstraints.check_lit(context, hir_id, a, negated);
            self.TypeLimits.check_lit(context, hir_id, a, negated);
            self.NonSnakeCase.check_lit(context, hir_id, a, negated);
            self.InvalidNoMangleItems.check_lit(context, hir_id, a, negated);
            self.UnreachablePub.check_lit(context, hir_id, a, negated);
            self.ExplicitOutlivesRequirements.check_lit(context, hir_id, a,
                negated);
            self.InvalidValue.check_lit(context, hir_id, a, negated);
            self.DerefNullPtr.check_lit(context, hir_id, a, negated);
            self.UnstableFeatures.check_lit(context, hir_id, a, negated);
            self.UngatedAsyncFnTrackCaller.check_lit(context, hir_id, a,
                negated);
            self.ShadowedIntoIter.check_lit(context, hir_id, a, negated);
            self.DropTraitConstraints.check_lit(context, hir_id, a, negated);
            self.DanglingPointers.check_lit(context, hir_id, a, negated);
            self.NonPanicFmt.check_lit(context, hir_id, a, negated);
            self.NoopMethodCall.check_lit(context, hir_id, a, negated);
            self.EnumIntrinsicsNonEnums.check_lit(context, hir_id, a,
                negated);
            self.InvalidAtomicOrdering.check_lit(context, hir_id, a, negated);
            self.AsmLabels.check_lit(context, hir_id, a, negated);
            self.OpaqueHiddenInferredBound.check_lit(context, hir_id, a,
                negated);
            self.MultipleSupertraitUpcastable.check_lit(context, hir_id, a,
                negated);
            self.MapUnitFn.check_lit(context, hir_id, a, negated);
            self.MissingDebugImplementations.check_lit(context, hir_id, a,
                negated);
            self.MissingDoc.check_lit(context, hir_id, a, negated);
            self.AsyncClosureUsage.check_lit(context, hir_id, a, negated);
            self.AsyncFnInTrait.check_lit(context, hir_id, a, negated);
            self.NonLocalDefinitions.check_lit(context, hir_id, a, negated);
            self.InteriorMutableConsts.check_lit(context, hir_id, a, negated);
            self.ImplTraitOvercaptures.check_lit(context, hir_id, a, negated);
            self.IfLetRescope.check_lit(context, hir_id, a, negated);
            self.StaticMutRefs.check_lit(context, hir_id, a, negated);
            self.UnqualifiedLocalImports.check_lit(context, hir_id, a,
                negated);
            self.FunctionCastsAsInteger.check_lit(context, hir_id, a,
                negated);
            self.CheckTransmutes.check_lit(context, hir_id, a, negated);
            self.LifetimeSyntax.check_lit(context, hir_id, a, negated);
        };
    }
    fn check_expr(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Expr<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_expr(context, a);
            self.DefaultCouldBeDerived.check_expr(context, a);
            self.DerefIntoDynSupertrait.check_expr(context, a);
            self.DropForgetUseless.check_expr(context, a);
            self.ImproperCTypesLint.check_expr(context, a);
            self.ImproperGpuKernelLint.check_expr(context, a);
            self.InvalidFromUtf8.check_expr(context, a);
            self.VariantSizeDifferences.check_expr(context, a);
            self.PathStatements.check_expr(context, a);
            self.LetUnderscore.check_expr(context, a);
            self.InvalidReferenceCasting.check_expr(context, a);
            self.ImplicitAutorefs.check_expr(context, a);
            self.UnusedResults.check_expr(context, a);
            self.UnitBindings.check_expr(context, a);
            self.NonUpperCaseGlobals.check_expr(context, a);
            self.NonShorthandFieldPatterns.check_expr(context, a);
            self.UnusedAllocation.check_expr(context, a);
            self.MissingCopyImplementations.check_expr(context, a);
            self.PtrNullChecks.check_expr(context, a);
            self.MutableTransmutes.check_expr(context, a);
            self.TypeAliasBounds.check_expr(context, a);
            self.TrivialConstraints.check_expr(context, a);
            self.TypeLimits.check_expr(context, a);
            self.NonSnakeCase.check_expr(context, a);
            self.InvalidNoMangleItems.check_expr(context, a);
            self.UnreachablePub.check_expr(context, a);
            self.ExplicitOutlivesRequirements.check_expr(context, a);
            self.InvalidValue.check_expr(context, a);
            self.DerefNullPtr.check_expr(context, a);
            self.UnstableFeatures.check_expr(context, a);
            self.UngatedAsyncFnTrackCaller.check_expr(context, a);
            self.ShadowedIntoIter.check_expr(context, a);
            self.DropTraitConstraints.check_expr(context, a);
            self.DanglingPointers.check_expr(context, a);
            self.NonPanicFmt.check_expr(context, a);
            self.NoopMethodCall.check_expr(context, a);
            self.EnumIntrinsicsNonEnums.check_expr(context, a);
            self.InvalidAtomicOrdering.check_expr(context, a);
            self.AsmLabels.check_expr(context, a);
            self.OpaqueHiddenInferredBound.check_expr(context, a);
            self.MultipleSupertraitUpcastable.check_expr(context, a);
            self.MapUnitFn.check_expr(context, a);
            self.MissingDebugImplementations.check_expr(context, a);
            self.MissingDoc.check_expr(context, a);
            self.AsyncClosureUsage.check_expr(context, a);
            self.AsyncFnInTrait.check_expr(context, a);
            self.NonLocalDefinitions.check_expr(context, a);
            self.InteriorMutableConsts.check_expr(context, a);
            self.ImplTraitOvercaptures.check_expr(context, a);
            self.IfLetRescope.check_expr(context, a);
            self.StaticMutRefs.check_expr(context, a);
            self.UnqualifiedLocalImports.check_expr(context, a);
            self.FunctionCastsAsInteger.check_expr(context, a);
            self.CheckTransmutes.check_expr(context, a);
            self.LifetimeSyntax.check_expr(context, a);
        };
    }
    fn check_expr_post(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Expr<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_expr_post(context, a);
            self.DefaultCouldBeDerived.check_expr_post(context, a);
            self.DerefIntoDynSupertrait.check_expr_post(context, a);
            self.DropForgetUseless.check_expr_post(context, a);
            self.ImproperCTypesLint.check_expr_post(context, a);
            self.ImproperGpuKernelLint.check_expr_post(context, a);
            self.InvalidFromUtf8.check_expr_post(context, a);
            self.VariantSizeDifferences.check_expr_post(context, a);
            self.PathStatements.check_expr_post(context, a);
            self.LetUnderscore.check_expr_post(context, a);
            self.InvalidReferenceCasting.check_expr_post(context, a);
            self.ImplicitAutorefs.check_expr_post(context, a);
            self.UnusedResults.check_expr_post(context, a);
            self.UnitBindings.check_expr_post(context, a);
            self.NonUpperCaseGlobals.check_expr_post(context, a);
            self.NonShorthandFieldPatterns.check_expr_post(context, a);
            self.UnusedAllocation.check_expr_post(context, a);
            self.MissingCopyImplementations.check_expr_post(context, a);
            self.PtrNullChecks.check_expr_post(context, a);
            self.MutableTransmutes.check_expr_post(context, a);
            self.TypeAliasBounds.check_expr_post(context, a);
            self.TrivialConstraints.check_expr_post(context, a);
            self.TypeLimits.check_expr_post(context, a);
            self.NonSnakeCase.check_expr_post(context, a);
            self.InvalidNoMangleItems.check_expr_post(context, a);
            self.UnreachablePub.check_expr_post(context, a);
            self.ExplicitOutlivesRequirements.check_expr_post(context, a);
            self.InvalidValue.check_expr_post(context, a);
            self.DerefNullPtr.check_expr_post(context, a);
            self.UnstableFeatures.check_expr_post(context, a);
            self.UngatedAsyncFnTrackCaller.check_expr_post(context, a);
            self.ShadowedIntoIter.check_expr_post(context, a);
            self.DropTraitConstraints.check_expr_post(context, a);
            self.DanglingPointers.check_expr_post(context, a);
            self.NonPanicFmt.check_expr_post(context, a);
            self.NoopMethodCall.check_expr_post(context, a);
            self.EnumIntrinsicsNonEnums.check_expr_post(context, a);
            self.InvalidAtomicOrdering.check_expr_post(context, a);
            self.AsmLabels.check_expr_post(context, a);
            self.OpaqueHiddenInferredBound.check_expr_post(context, a);
            self.MultipleSupertraitUpcastable.check_expr_post(context, a);
            self.MapUnitFn.check_expr_post(context, a);
            self.MissingDebugImplementations.check_expr_post(context, a);
            self.MissingDoc.check_expr_post(context, a);
            self.AsyncClosureUsage.check_expr_post(context, a);
            self.AsyncFnInTrait.check_expr_post(context, a);
            self.NonLocalDefinitions.check_expr_post(context, a);
            self.InteriorMutableConsts.check_expr_post(context, a);
            self.ImplTraitOvercaptures.check_expr_post(context, a);
            self.IfLetRescope.check_expr_post(context, a);
            self.StaticMutRefs.check_expr_post(context, a);
            self.UnqualifiedLocalImports.check_expr_post(context, a);
            self.FunctionCastsAsInteger.check_expr_post(context, a);
            self.CheckTransmutes.check_expr_post(context, a);
            self.LifetimeSyntax.check_expr_post(context, a);
        };
    }
    fn check_ty(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Ty<'tcx, rustc_hir::AmbigArg>) {
        {
            self.ForLoopsOverFallibles.check_ty(context, a);
            self.DefaultCouldBeDerived.check_ty(context, a);
            self.DerefIntoDynSupertrait.check_ty(context, a);
            self.DropForgetUseless.check_ty(context, a);
            self.ImproperCTypesLint.check_ty(context, a);
            self.ImproperGpuKernelLint.check_ty(context, a);
            self.InvalidFromUtf8.check_ty(context, a);
            self.VariantSizeDifferences.check_ty(context, a);
            self.PathStatements.check_ty(context, a);
            self.LetUnderscore.check_ty(context, a);
            self.InvalidReferenceCasting.check_ty(context, a);
            self.ImplicitAutorefs.check_ty(context, a);
            self.UnusedResults.check_ty(context, a);
            self.UnitBindings.check_ty(context, a);
            self.NonUpperCaseGlobals.check_ty(context, a);
            self.NonShorthandFieldPatterns.check_ty(context, a);
            self.UnusedAllocation.check_ty(context, a);
            self.MissingCopyImplementations.check_ty(context, a);
            self.PtrNullChecks.check_ty(context, a);
            self.MutableTransmutes.check_ty(context, a);
            self.TypeAliasBounds.check_ty(context, a);
            self.TrivialConstraints.check_ty(context, a);
            self.TypeLimits.check_ty(context, a);
            self.NonSnakeCase.check_ty(context, a);
            self.InvalidNoMangleItems.check_ty(context, a);
            self.UnreachablePub.check_ty(context, a);
            self.ExplicitOutlivesRequirements.check_ty(context, a);
            self.InvalidValue.check_ty(context, a);
            self.DerefNullPtr.check_ty(context, a);
            self.UnstableFeatures.check_ty(context, a);
            self.UngatedAsyncFnTrackCaller.check_ty(context, a);
            self.ShadowedIntoIter.check_ty(context, a);
            self.DropTraitConstraints.check_ty(context, a);
            self.DanglingPointers.check_ty(context, a);
            self.NonPanicFmt.check_ty(context, a);
            self.NoopMethodCall.check_ty(context, a);
            self.EnumIntrinsicsNonEnums.check_ty(context, a);
            self.InvalidAtomicOrdering.check_ty(context, a);
            self.AsmLabels.check_ty(context, a);
            self.OpaqueHiddenInferredBound.check_ty(context, a);
            self.MultipleSupertraitUpcastable.check_ty(context, a);
            self.MapUnitFn.check_ty(context, a);
            self.MissingDebugImplementations.check_ty(context, a);
            self.MissingDoc.check_ty(context, a);
            self.AsyncClosureUsage.check_ty(context, a);
            self.AsyncFnInTrait.check_ty(context, a);
            self.NonLocalDefinitions.check_ty(context, a);
            self.InteriorMutableConsts.check_ty(context, a);
            self.ImplTraitOvercaptures.check_ty(context, a);
            self.IfLetRescope.check_ty(context, a);
            self.StaticMutRefs.check_ty(context, a);
            self.UnqualifiedLocalImports.check_ty(context, a);
            self.FunctionCastsAsInteger.check_ty(context, a);
            self.CheckTransmutes.check_ty(context, a);
            self.LifetimeSyntax.check_ty(context, a);
        };
    }
    fn check_generic_param(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::GenericParam<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_generic_param(context, a);
            self.DefaultCouldBeDerived.check_generic_param(context, a);
            self.DerefIntoDynSupertrait.check_generic_param(context, a);
            self.DropForgetUseless.check_generic_param(context, a);
            self.ImproperCTypesLint.check_generic_param(context, a);
            self.ImproperGpuKernelLint.check_generic_param(context, a);
            self.InvalidFromUtf8.check_generic_param(context, a);
            self.VariantSizeDifferences.check_generic_param(context, a);
            self.PathStatements.check_generic_param(context, a);
            self.LetUnderscore.check_generic_param(context, a);
            self.InvalidReferenceCasting.check_generic_param(context, a);
            self.ImplicitAutorefs.check_generic_param(context, a);
            self.UnusedResults.check_generic_param(context, a);
            self.UnitBindings.check_generic_param(context, a);
            self.NonUpperCaseGlobals.check_generic_param(context, a);
            self.NonShorthandFieldPatterns.check_generic_param(context, a);
            self.UnusedAllocation.check_generic_param(context, a);
            self.MissingCopyImplementations.check_generic_param(context, a);
            self.PtrNullChecks.check_generic_param(context, a);
            self.MutableTransmutes.check_generic_param(context, a);
            self.TypeAliasBounds.check_generic_param(context, a);
            self.TrivialConstraints.check_generic_param(context, a);
            self.TypeLimits.check_generic_param(context, a);
            self.NonSnakeCase.check_generic_param(context, a);
            self.InvalidNoMangleItems.check_generic_param(context, a);
            self.UnreachablePub.check_generic_param(context, a);
            self.ExplicitOutlivesRequirements.check_generic_param(context, a);
            self.InvalidValue.check_generic_param(context, a);
            self.DerefNullPtr.check_generic_param(context, a);
            self.UnstableFeatures.check_generic_param(context, a);
            self.UngatedAsyncFnTrackCaller.check_generic_param(context, a);
            self.ShadowedIntoIter.check_generic_param(context, a);
            self.DropTraitConstraints.check_generic_param(context, a);
            self.DanglingPointers.check_generic_param(context, a);
            self.NonPanicFmt.check_generic_param(context, a);
            self.NoopMethodCall.check_generic_param(context, a);
            self.EnumIntrinsicsNonEnums.check_generic_param(context, a);
            self.InvalidAtomicOrdering.check_generic_param(context, a);
            self.AsmLabels.check_generic_param(context, a);
            self.OpaqueHiddenInferredBound.check_generic_param(context, a);
            self.MultipleSupertraitUpcastable.check_generic_param(context, a);
            self.MapUnitFn.check_generic_param(context, a);
            self.MissingDebugImplementations.check_generic_param(context, a);
            self.MissingDoc.check_generic_param(context, a);
            self.AsyncClosureUsage.check_generic_param(context, a);
            self.AsyncFnInTrait.check_generic_param(context, a);
            self.NonLocalDefinitions.check_generic_param(context, a);
            self.InteriorMutableConsts.check_generic_param(context, a);
            self.ImplTraitOvercaptures.check_generic_param(context, a);
            self.IfLetRescope.check_generic_param(context, a);
            self.StaticMutRefs.check_generic_param(context, a);
            self.UnqualifiedLocalImports.check_generic_param(context, a);
            self.FunctionCastsAsInteger.check_generic_param(context, a);
            self.CheckTransmutes.check_generic_param(context, a);
            self.LifetimeSyntax.check_generic_param(context, a);
        };
    }
    fn check_generics(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Generics<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_generics(context, a);
            self.DefaultCouldBeDerived.check_generics(context, a);
            self.DerefIntoDynSupertrait.check_generics(context, a);
            self.DropForgetUseless.check_generics(context, a);
            self.ImproperCTypesLint.check_generics(context, a);
            self.ImproperGpuKernelLint.check_generics(context, a);
            self.InvalidFromUtf8.check_generics(context, a);
            self.VariantSizeDifferences.check_generics(context, a);
            self.PathStatements.check_generics(context, a);
            self.LetUnderscore.check_generics(context, a);
            self.InvalidReferenceCasting.check_generics(context, a);
            self.ImplicitAutorefs.check_generics(context, a);
            self.UnusedResults.check_generics(context, a);
            self.UnitBindings.check_generics(context, a);
            self.NonUpperCaseGlobals.check_generics(context, a);
            self.NonShorthandFieldPatterns.check_generics(context, a);
            self.UnusedAllocation.check_generics(context, a);
            self.MissingCopyImplementations.check_generics(context, a);
            self.PtrNullChecks.check_generics(context, a);
            self.MutableTransmutes.check_generics(context, a);
            self.TypeAliasBounds.check_generics(context, a);
            self.TrivialConstraints.check_generics(context, a);
            self.TypeLimits.check_generics(context, a);
            self.NonSnakeCase.check_generics(context, a);
            self.InvalidNoMangleItems.check_generics(context, a);
            self.UnreachablePub.check_generics(context, a);
            self.ExplicitOutlivesRequirements.check_generics(context, a);
            self.InvalidValue.check_generics(context, a);
            self.DerefNullPtr.check_generics(context, a);
            self.UnstableFeatures.check_generics(context, a);
            self.UngatedAsyncFnTrackCaller.check_generics(context, a);
            self.ShadowedIntoIter.check_generics(context, a);
            self.DropTraitConstraints.check_generics(context, a);
            self.DanglingPointers.check_generics(context, a);
            self.NonPanicFmt.check_generics(context, a);
            self.NoopMethodCall.check_generics(context, a);
            self.EnumIntrinsicsNonEnums.check_generics(context, a);
            self.InvalidAtomicOrdering.check_generics(context, a);
            self.AsmLabels.check_generics(context, a);
            self.OpaqueHiddenInferredBound.check_generics(context, a);
            self.MultipleSupertraitUpcastable.check_generics(context, a);
            self.MapUnitFn.check_generics(context, a);
            self.MissingDebugImplementations.check_generics(context, a);
            self.MissingDoc.check_generics(context, a);
            self.AsyncClosureUsage.check_generics(context, a);
            self.AsyncFnInTrait.check_generics(context, a);
            self.NonLocalDefinitions.check_generics(context, a);
            self.InteriorMutableConsts.check_generics(context, a);
            self.ImplTraitOvercaptures.check_generics(context, a);
            self.IfLetRescope.check_generics(context, a);
            self.StaticMutRefs.check_generics(context, a);
            self.UnqualifiedLocalImports.check_generics(context, a);
            self.FunctionCastsAsInteger.check_generics(context, a);
            self.CheckTransmutes.check_generics(context, a);
            self.LifetimeSyntax.check_generics(context, a);
        };
    }
    fn check_poly_trait_ref(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::PolyTraitRef<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_poly_trait_ref(context, a);
            self.DefaultCouldBeDerived.check_poly_trait_ref(context, a);
            self.DerefIntoDynSupertrait.check_poly_trait_ref(context, a);
            self.DropForgetUseless.check_poly_trait_ref(context, a);
            self.ImproperCTypesLint.check_poly_trait_ref(context, a);
            self.ImproperGpuKernelLint.check_poly_trait_ref(context, a);
            self.InvalidFromUtf8.check_poly_trait_ref(context, a);
            self.VariantSizeDifferences.check_poly_trait_ref(context, a);
            self.PathStatements.check_poly_trait_ref(context, a);
            self.LetUnderscore.check_poly_trait_ref(context, a);
            self.InvalidReferenceCasting.check_poly_trait_ref(context, a);
            self.ImplicitAutorefs.check_poly_trait_ref(context, a);
            self.UnusedResults.check_poly_trait_ref(context, a);
            self.UnitBindings.check_poly_trait_ref(context, a);
            self.NonUpperCaseGlobals.check_poly_trait_ref(context, a);
            self.NonShorthandFieldPatterns.check_poly_trait_ref(context, a);
            self.UnusedAllocation.check_poly_trait_ref(context, a);
            self.MissingCopyImplementations.check_poly_trait_ref(context, a);
            self.PtrNullChecks.check_poly_trait_ref(context, a);
            self.MutableTransmutes.check_poly_trait_ref(context, a);
            self.TypeAliasBounds.check_poly_trait_ref(context, a);
            self.TrivialConstraints.check_poly_trait_ref(context, a);
            self.TypeLimits.check_poly_trait_ref(context, a);
            self.NonSnakeCase.check_poly_trait_ref(context, a);
            self.InvalidNoMangleItems.check_poly_trait_ref(context, a);
            self.UnreachablePub.check_poly_trait_ref(context, a);
            self.ExplicitOutlivesRequirements.check_poly_trait_ref(context,
                a);
            self.InvalidValue.check_poly_trait_ref(context, a);
            self.DerefNullPtr.check_poly_trait_ref(context, a);
            self.UnstableFeatures.check_poly_trait_ref(context, a);
            self.UngatedAsyncFnTrackCaller.check_poly_trait_ref(context, a);
            self.ShadowedIntoIter.check_poly_trait_ref(context, a);
            self.DropTraitConstraints.check_poly_trait_ref(context, a);
            self.DanglingPointers.check_poly_trait_ref(context, a);
            self.NonPanicFmt.check_poly_trait_ref(context, a);
            self.NoopMethodCall.check_poly_trait_ref(context, a);
            self.EnumIntrinsicsNonEnums.check_poly_trait_ref(context, a);
            self.InvalidAtomicOrdering.check_poly_trait_ref(context, a);
            self.AsmLabels.check_poly_trait_ref(context, a);
            self.OpaqueHiddenInferredBound.check_poly_trait_ref(context, a);
            self.MultipleSupertraitUpcastable.check_poly_trait_ref(context,
                a);
            self.MapUnitFn.check_poly_trait_ref(context, a);
            self.MissingDebugImplementations.check_poly_trait_ref(context, a);
            self.MissingDoc.check_poly_trait_ref(context, a);
            self.AsyncClosureUsage.check_poly_trait_ref(context, a);
            self.AsyncFnInTrait.check_poly_trait_ref(context, a);
            self.NonLocalDefinitions.check_poly_trait_ref(context, a);
            self.InteriorMutableConsts.check_poly_trait_ref(context, a);
            self.ImplTraitOvercaptures.check_poly_trait_ref(context, a);
            self.IfLetRescope.check_poly_trait_ref(context, a);
            self.StaticMutRefs.check_poly_trait_ref(context, a);
            self.UnqualifiedLocalImports.check_poly_trait_ref(context, a);
            self.FunctionCastsAsInteger.check_poly_trait_ref(context, a);
            self.CheckTransmutes.check_poly_trait_ref(context, a);
            self.LifetimeSyntax.check_poly_trait_ref(context, a);
        };
    }
    fn check_fn(&mut self, context: &crate::LateContext<'tcx>,
        a: rustc_hir::intravisit::FnKind<'tcx>,
        b: &'tcx rustc_hir::FnDecl<'tcx>, c: &'tcx rustc_hir::Body<'tcx>,
        d: rustc_span::Span, e: rustc_span::def_id::LocalDefId) {
        {
            self.ForLoopsOverFallibles.check_fn(context, a, b, c, d, e);
            self.DefaultCouldBeDerived.check_fn(context, a, b, c, d, e);
            self.DerefIntoDynSupertrait.check_fn(context, a, b, c, d, e);
            self.DropForgetUseless.check_fn(context, a, b, c, d, e);
            self.ImproperCTypesLint.check_fn(context, a, b, c, d, e);
            self.ImproperGpuKernelLint.check_fn(context, a, b, c, d, e);
            self.InvalidFromUtf8.check_fn(context, a, b, c, d, e);
            self.VariantSizeDifferences.check_fn(context, a, b, c, d, e);
            self.PathStatements.check_fn(context, a, b, c, d, e);
            self.LetUnderscore.check_fn(context, a, b, c, d, e);
            self.InvalidReferenceCasting.check_fn(context, a, b, c, d, e);
            self.ImplicitAutorefs.check_fn(context, a, b, c, d, e);
            self.UnusedResults.check_fn(context, a, b, c, d, e);
            self.UnitBindings.check_fn(context, a, b, c, d, e);
            self.NonUpperCaseGlobals.check_fn(context, a, b, c, d, e);
            self.NonShorthandFieldPatterns.check_fn(context, a, b, c, d, e);
            self.UnusedAllocation.check_fn(context, a, b, c, d, e);
            self.MissingCopyImplementations.check_fn(context, a, b, c, d, e);
            self.PtrNullChecks.check_fn(context, a, b, c, d, e);
            self.MutableTransmutes.check_fn(context, a, b, c, d, e);
            self.TypeAliasBounds.check_fn(context, a, b, c, d, e);
            self.TrivialConstraints.check_fn(context, a, b, c, d, e);
            self.TypeLimits.check_fn(context, a, b, c, d, e);
            self.NonSnakeCase.check_fn(context, a, b, c, d, e);
            self.InvalidNoMangleItems.check_fn(context, a, b, c, d, e);
            self.UnreachablePub.check_fn(context, a, b, c, d, e);
            self.ExplicitOutlivesRequirements.check_fn(context, a, b, c, d,
                e);
            self.InvalidValue.check_fn(context, a, b, c, d, e);
            self.DerefNullPtr.check_fn(context, a, b, c, d, e);
            self.UnstableFeatures.check_fn(context, a, b, c, d, e);
            self.UngatedAsyncFnTrackCaller.check_fn(context, a, b, c, d, e);
            self.ShadowedIntoIter.check_fn(context, a, b, c, d, e);
            self.DropTraitConstraints.check_fn(context, a, b, c, d, e);
            self.DanglingPointers.check_fn(context, a, b, c, d, e);
            self.NonPanicFmt.check_fn(context, a, b, c, d, e);
            self.NoopMethodCall.check_fn(context, a, b, c, d, e);
            self.EnumIntrinsicsNonEnums.check_fn(context, a, b, c, d, e);
            self.InvalidAtomicOrdering.check_fn(context, a, b, c, d, e);
            self.AsmLabels.check_fn(context, a, b, c, d, e);
            self.OpaqueHiddenInferredBound.check_fn(context, a, b, c, d, e);
            self.MultipleSupertraitUpcastable.check_fn(context, a, b, c, d,
                e);
            self.MapUnitFn.check_fn(context, a, b, c, d, e);
            self.MissingDebugImplementations.check_fn(context, a, b, c, d, e);
            self.MissingDoc.check_fn(context, a, b, c, d, e);
            self.AsyncClosureUsage.check_fn(context, a, b, c, d, e);
            self.AsyncFnInTrait.check_fn(context, a, b, c, d, e);
            self.NonLocalDefinitions.check_fn(context, a, b, c, d, e);
            self.InteriorMutableConsts.check_fn(context, a, b, c, d, e);
            self.ImplTraitOvercaptures.check_fn(context, a, b, c, d, e);
            self.IfLetRescope.check_fn(context, a, b, c, d, e);
            self.StaticMutRefs.check_fn(context, a, b, c, d, e);
            self.UnqualifiedLocalImports.check_fn(context, a, b, c, d, e);
            self.FunctionCastsAsInteger.check_fn(context, a, b, c, d, e);
            self.CheckTransmutes.check_fn(context, a, b, c, d, e);
            self.LifetimeSyntax.check_fn(context, a, b, c, d, e);
        };
    }
    fn check_trait_item(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::TraitItem<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_trait_item(context, a);
            self.DefaultCouldBeDerived.check_trait_item(context, a);
            self.DerefIntoDynSupertrait.check_trait_item(context, a);
            self.DropForgetUseless.check_trait_item(context, a);
            self.ImproperCTypesLint.check_trait_item(context, a);
            self.ImproperGpuKernelLint.check_trait_item(context, a);
            self.InvalidFromUtf8.check_trait_item(context, a);
            self.VariantSizeDifferences.check_trait_item(context, a);
            self.PathStatements.check_trait_item(context, a);
            self.LetUnderscore.check_trait_item(context, a);
            self.InvalidReferenceCasting.check_trait_item(context, a);
            self.ImplicitAutorefs.check_trait_item(context, a);
            self.UnusedResults.check_trait_item(context, a);
            self.UnitBindings.check_trait_item(context, a);
            self.NonUpperCaseGlobals.check_trait_item(context, a);
            self.NonShorthandFieldPatterns.check_trait_item(context, a);
            self.UnusedAllocation.check_trait_item(context, a);
            self.MissingCopyImplementations.check_trait_item(context, a);
            self.PtrNullChecks.check_trait_item(context, a);
            self.MutableTransmutes.check_trait_item(context, a);
            self.TypeAliasBounds.check_trait_item(context, a);
            self.TrivialConstraints.check_trait_item(context, a);
            self.TypeLimits.check_trait_item(context, a);
            self.NonSnakeCase.check_trait_item(context, a);
            self.InvalidNoMangleItems.check_trait_item(context, a);
            self.UnreachablePub.check_trait_item(context, a);
            self.ExplicitOutlivesRequirements.check_trait_item(context, a);
            self.InvalidValue.check_trait_item(context, a);
            self.DerefNullPtr.check_trait_item(context, a);
            self.UnstableFeatures.check_trait_item(context, a);
            self.UngatedAsyncFnTrackCaller.check_trait_item(context, a);
            self.ShadowedIntoIter.check_trait_item(context, a);
            self.DropTraitConstraints.check_trait_item(context, a);
            self.DanglingPointers.check_trait_item(context, a);
            self.NonPanicFmt.check_trait_item(context, a);
            self.NoopMethodCall.check_trait_item(context, a);
            self.EnumIntrinsicsNonEnums.check_trait_item(context, a);
            self.InvalidAtomicOrdering.check_trait_item(context, a);
            self.AsmLabels.check_trait_item(context, a);
            self.OpaqueHiddenInferredBound.check_trait_item(context, a);
            self.MultipleSupertraitUpcastable.check_trait_item(context, a);
            self.MapUnitFn.check_trait_item(context, a);
            self.MissingDebugImplementations.check_trait_item(context, a);
            self.MissingDoc.check_trait_item(context, a);
            self.AsyncClosureUsage.check_trait_item(context, a);
            self.AsyncFnInTrait.check_trait_item(context, a);
            self.NonLocalDefinitions.check_trait_item(context, a);
            self.InteriorMutableConsts.check_trait_item(context, a);
            self.ImplTraitOvercaptures.check_trait_item(context, a);
            self.IfLetRescope.check_trait_item(context, a);
            self.StaticMutRefs.check_trait_item(context, a);
            self.UnqualifiedLocalImports.check_trait_item(context, a);
            self.FunctionCastsAsInteger.check_trait_item(context, a);
            self.CheckTransmutes.check_trait_item(context, a);
            self.LifetimeSyntax.check_trait_item(context, a);
        };
    }
    fn check_impl_item(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::ImplItem<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_impl_item(context, a);
            self.DefaultCouldBeDerived.check_impl_item(context, a);
            self.DerefIntoDynSupertrait.check_impl_item(context, a);
            self.DropForgetUseless.check_impl_item(context, a);
            self.ImproperCTypesLint.check_impl_item(context, a);
            self.ImproperGpuKernelLint.check_impl_item(context, a);
            self.InvalidFromUtf8.check_impl_item(context, a);
            self.VariantSizeDifferences.check_impl_item(context, a);
            self.PathStatements.check_impl_item(context, a);
            self.LetUnderscore.check_impl_item(context, a);
            self.InvalidReferenceCasting.check_impl_item(context, a);
            self.ImplicitAutorefs.check_impl_item(context, a);
            self.UnusedResults.check_impl_item(context, a);
            self.UnitBindings.check_impl_item(context, a);
            self.NonUpperCaseGlobals.check_impl_item(context, a);
            self.NonShorthandFieldPatterns.check_impl_item(context, a);
            self.UnusedAllocation.check_impl_item(context, a);
            self.MissingCopyImplementations.check_impl_item(context, a);
            self.PtrNullChecks.check_impl_item(context, a);
            self.MutableTransmutes.check_impl_item(context, a);
            self.TypeAliasBounds.check_impl_item(context, a);
            self.TrivialConstraints.check_impl_item(context, a);
            self.TypeLimits.check_impl_item(context, a);
            self.NonSnakeCase.check_impl_item(context, a);
            self.InvalidNoMangleItems.check_impl_item(context, a);
            self.UnreachablePub.check_impl_item(context, a);
            self.ExplicitOutlivesRequirements.check_impl_item(context, a);
            self.InvalidValue.check_impl_item(context, a);
            self.DerefNullPtr.check_impl_item(context, a);
            self.UnstableFeatures.check_impl_item(context, a);
            self.UngatedAsyncFnTrackCaller.check_impl_item(context, a);
            self.ShadowedIntoIter.check_impl_item(context, a);
            self.DropTraitConstraints.check_impl_item(context, a);
            self.DanglingPointers.check_impl_item(context, a);
            self.NonPanicFmt.check_impl_item(context, a);
            self.NoopMethodCall.check_impl_item(context, a);
            self.EnumIntrinsicsNonEnums.check_impl_item(context, a);
            self.InvalidAtomicOrdering.check_impl_item(context, a);
            self.AsmLabels.check_impl_item(context, a);
            self.OpaqueHiddenInferredBound.check_impl_item(context, a);
            self.MultipleSupertraitUpcastable.check_impl_item(context, a);
            self.MapUnitFn.check_impl_item(context, a);
            self.MissingDebugImplementations.check_impl_item(context, a);
            self.MissingDoc.check_impl_item(context, a);
            self.AsyncClosureUsage.check_impl_item(context, a);
            self.AsyncFnInTrait.check_impl_item(context, a);
            self.NonLocalDefinitions.check_impl_item(context, a);
            self.InteriorMutableConsts.check_impl_item(context, a);
            self.ImplTraitOvercaptures.check_impl_item(context, a);
            self.IfLetRescope.check_impl_item(context, a);
            self.StaticMutRefs.check_impl_item(context, a);
            self.UnqualifiedLocalImports.check_impl_item(context, a);
            self.FunctionCastsAsInteger.check_impl_item(context, a);
            self.CheckTransmutes.check_impl_item(context, a);
            self.LifetimeSyntax.check_impl_item(context, a);
        };
    }
    fn check_impl_item_post(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::ImplItem<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_impl_item_post(context, a);
            self.DefaultCouldBeDerived.check_impl_item_post(context, a);
            self.DerefIntoDynSupertrait.check_impl_item_post(context, a);
            self.DropForgetUseless.check_impl_item_post(context, a);
            self.ImproperCTypesLint.check_impl_item_post(context, a);
            self.ImproperGpuKernelLint.check_impl_item_post(context, a);
            self.InvalidFromUtf8.check_impl_item_post(context, a);
            self.VariantSizeDifferences.check_impl_item_post(context, a);
            self.PathStatements.check_impl_item_post(context, a);
            self.LetUnderscore.check_impl_item_post(context, a);
            self.InvalidReferenceCasting.check_impl_item_post(context, a);
            self.ImplicitAutorefs.check_impl_item_post(context, a);
            self.UnusedResults.check_impl_item_post(context, a);
            self.UnitBindings.check_impl_item_post(context, a);
            self.NonUpperCaseGlobals.check_impl_item_post(context, a);
            self.NonShorthandFieldPatterns.check_impl_item_post(context, a);
            self.UnusedAllocation.check_impl_item_post(context, a);
            self.MissingCopyImplementations.check_impl_item_post(context, a);
            self.PtrNullChecks.check_impl_item_post(context, a);
            self.MutableTransmutes.check_impl_item_post(context, a);
            self.TypeAliasBounds.check_impl_item_post(context, a);
            self.TrivialConstraints.check_impl_item_post(context, a);
            self.TypeLimits.check_impl_item_post(context, a);
            self.NonSnakeCase.check_impl_item_post(context, a);
            self.InvalidNoMangleItems.check_impl_item_post(context, a);
            self.UnreachablePub.check_impl_item_post(context, a);
            self.ExplicitOutlivesRequirements.check_impl_item_post(context,
                a);
            self.InvalidValue.check_impl_item_post(context, a);
            self.DerefNullPtr.check_impl_item_post(context, a);
            self.UnstableFeatures.check_impl_item_post(context, a);
            self.UngatedAsyncFnTrackCaller.check_impl_item_post(context, a);
            self.ShadowedIntoIter.check_impl_item_post(context, a);
            self.DropTraitConstraints.check_impl_item_post(context, a);
            self.DanglingPointers.check_impl_item_post(context, a);
            self.NonPanicFmt.check_impl_item_post(context, a);
            self.NoopMethodCall.check_impl_item_post(context, a);
            self.EnumIntrinsicsNonEnums.check_impl_item_post(context, a);
            self.InvalidAtomicOrdering.check_impl_item_post(context, a);
            self.AsmLabels.check_impl_item_post(context, a);
            self.OpaqueHiddenInferredBound.check_impl_item_post(context, a);
            self.MultipleSupertraitUpcastable.check_impl_item_post(context,
                a);
            self.MapUnitFn.check_impl_item_post(context, a);
            self.MissingDebugImplementations.check_impl_item_post(context, a);
            self.MissingDoc.check_impl_item_post(context, a);
            self.AsyncClosureUsage.check_impl_item_post(context, a);
            self.AsyncFnInTrait.check_impl_item_post(context, a);
            self.NonLocalDefinitions.check_impl_item_post(context, a);
            self.InteriorMutableConsts.check_impl_item_post(context, a);
            self.ImplTraitOvercaptures.check_impl_item_post(context, a);
            self.IfLetRescope.check_impl_item_post(context, a);
            self.StaticMutRefs.check_impl_item_post(context, a);
            self.UnqualifiedLocalImports.check_impl_item_post(context, a);
            self.FunctionCastsAsInteger.check_impl_item_post(context, a);
            self.CheckTransmutes.check_impl_item_post(context, a);
            self.LifetimeSyntax.check_impl_item_post(context, a);
        };
    }
    fn check_struct_def(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::VariantData<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_struct_def(context, a);
            self.DefaultCouldBeDerived.check_struct_def(context, a);
            self.DerefIntoDynSupertrait.check_struct_def(context, a);
            self.DropForgetUseless.check_struct_def(context, a);
            self.ImproperCTypesLint.check_struct_def(context, a);
            self.ImproperGpuKernelLint.check_struct_def(context, a);
            self.InvalidFromUtf8.check_struct_def(context, a);
            self.VariantSizeDifferences.check_struct_def(context, a);
            self.PathStatements.check_struct_def(context, a);
            self.LetUnderscore.check_struct_def(context, a);
            self.InvalidReferenceCasting.check_struct_def(context, a);
            self.ImplicitAutorefs.check_struct_def(context, a);
            self.UnusedResults.check_struct_def(context, a);
            self.UnitBindings.check_struct_def(context, a);
            self.NonUpperCaseGlobals.check_struct_def(context, a);
            self.NonShorthandFieldPatterns.check_struct_def(context, a);
            self.UnusedAllocation.check_struct_def(context, a);
            self.MissingCopyImplementations.check_struct_def(context, a);
            self.PtrNullChecks.check_struct_def(context, a);
            self.MutableTransmutes.check_struct_def(context, a);
            self.TypeAliasBounds.check_struct_def(context, a);
            self.TrivialConstraints.check_struct_def(context, a);
            self.TypeLimits.check_struct_def(context, a);
            self.NonSnakeCase.check_struct_def(context, a);
            self.InvalidNoMangleItems.check_struct_def(context, a);
            self.UnreachablePub.check_struct_def(context, a);
            self.ExplicitOutlivesRequirements.check_struct_def(context, a);
            self.InvalidValue.check_struct_def(context, a);
            self.DerefNullPtr.check_struct_def(context, a);
            self.UnstableFeatures.check_struct_def(context, a);
            self.UngatedAsyncFnTrackCaller.check_struct_def(context, a);
            self.ShadowedIntoIter.check_struct_def(context, a);
            self.DropTraitConstraints.check_struct_def(context, a);
            self.DanglingPointers.check_struct_def(context, a);
            self.NonPanicFmt.check_struct_def(context, a);
            self.NoopMethodCall.check_struct_def(context, a);
            self.EnumIntrinsicsNonEnums.check_struct_def(context, a);
            self.InvalidAtomicOrdering.check_struct_def(context, a);
            self.AsmLabels.check_struct_def(context, a);
            self.OpaqueHiddenInferredBound.check_struct_def(context, a);
            self.MultipleSupertraitUpcastable.check_struct_def(context, a);
            self.MapUnitFn.check_struct_def(context, a);
            self.MissingDebugImplementations.check_struct_def(context, a);
            self.MissingDoc.check_struct_def(context, a);
            self.AsyncClosureUsage.check_struct_def(context, a);
            self.AsyncFnInTrait.check_struct_def(context, a);
            self.NonLocalDefinitions.check_struct_def(context, a);
            self.InteriorMutableConsts.check_struct_def(context, a);
            self.ImplTraitOvercaptures.check_struct_def(context, a);
            self.IfLetRescope.check_struct_def(context, a);
            self.StaticMutRefs.check_struct_def(context, a);
            self.UnqualifiedLocalImports.check_struct_def(context, a);
            self.FunctionCastsAsInteger.check_struct_def(context, a);
            self.CheckTransmutes.check_struct_def(context, a);
            self.LifetimeSyntax.check_struct_def(context, a);
        };
    }
    fn check_field_def(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::FieldDef<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_field_def(context, a);
            self.DefaultCouldBeDerived.check_field_def(context, a);
            self.DerefIntoDynSupertrait.check_field_def(context, a);
            self.DropForgetUseless.check_field_def(context, a);
            self.ImproperCTypesLint.check_field_def(context, a);
            self.ImproperGpuKernelLint.check_field_def(context, a);
            self.InvalidFromUtf8.check_field_def(context, a);
            self.VariantSizeDifferences.check_field_def(context, a);
            self.PathStatements.check_field_def(context, a);
            self.LetUnderscore.check_field_def(context, a);
            self.InvalidReferenceCasting.check_field_def(context, a);
            self.ImplicitAutorefs.check_field_def(context, a);
            self.UnusedResults.check_field_def(context, a);
            self.UnitBindings.check_field_def(context, a);
            self.NonUpperCaseGlobals.check_field_def(context, a);
            self.NonShorthandFieldPatterns.check_field_def(context, a);
            self.UnusedAllocation.check_field_def(context, a);
            self.MissingCopyImplementations.check_field_def(context, a);
            self.PtrNullChecks.check_field_def(context, a);
            self.MutableTransmutes.check_field_def(context, a);
            self.TypeAliasBounds.check_field_def(context, a);
            self.TrivialConstraints.check_field_def(context, a);
            self.TypeLimits.check_field_def(context, a);
            self.NonSnakeCase.check_field_def(context, a);
            self.InvalidNoMangleItems.check_field_def(context, a);
            self.UnreachablePub.check_field_def(context, a);
            self.ExplicitOutlivesRequirements.check_field_def(context, a);
            self.InvalidValue.check_field_def(context, a);
            self.DerefNullPtr.check_field_def(context, a);
            self.UnstableFeatures.check_field_def(context, a);
            self.UngatedAsyncFnTrackCaller.check_field_def(context, a);
            self.ShadowedIntoIter.check_field_def(context, a);
            self.DropTraitConstraints.check_field_def(context, a);
            self.DanglingPointers.check_field_def(context, a);
            self.NonPanicFmt.check_field_def(context, a);
            self.NoopMethodCall.check_field_def(context, a);
            self.EnumIntrinsicsNonEnums.check_field_def(context, a);
            self.InvalidAtomicOrdering.check_field_def(context, a);
            self.AsmLabels.check_field_def(context, a);
            self.OpaqueHiddenInferredBound.check_field_def(context, a);
            self.MultipleSupertraitUpcastable.check_field_def(context, a);
            self.MapUnitFn.check_field_def(context, a);
            self.MissingDebugImplementations.check_field_def(context, a);
            self.MissingDoc.check_field_def(context, a);
            self.AsyncClosureUsage.check_field_def(context, a);
            self.AsyncFnInTrait.check_field_def(context, a);
            self.NonLocalDefinitions.check_field_def(context, a);
            self.InteriorMutableConsts.check_field_def(context, a);
            self.ImplTraitOvercaptures.check_field_def(context, a);
            self.IfLetRescope.check_field_def(context, a);
            self.StaticMutRefs.check_field_def(context, a);
            self.UnqualifiedLocalImports.check_field_def(context, a);
            self.FunctionCastsAsInteger.check_field_def(context, a);
            self.CheckTransmutes.check_field_def(context, a);
            self.LifetimeSyntax.check_field_def(context, a);
        };
    }
    fn check_variant(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Variant<'tcx>) {
        {
            self.ForLoopsOverFallibles.check_variant(context, a);
            self.DefaultCouldBeDerived.check_variant(context, a);
            self.DerefIntoDynSupertrait.check_variant(context, a);
            self.DropForgetUseless.check_variant(context, a);
            self.ImproperCTypesLint.check_variant(context, a);
            self.ImproperGpuKernelLint.check_variant(context, a);
            self.InvalidFromUtf8.check_variant(context, a);
            self.VariantSizeDifferences.check_variant(context, a);
            self.PathStatements.check_variant(context, a);
            self.LetUnderscore.check_variant(context, a);
            self.InvalidReferenceCasting.check_variant(context, a);
            self.ImplicitAutorefs.check_variant(context, a);
            self.UnusedResults.check_variant(context, a);
            self.UnitBindings.check_variant(context, a);
            self.NonUpperCaseGlobals.check_variant(context, a);
            self.NonShorthandFieldPatterns.check_variant(context, a);
            self.UnusedAllocation.check_variant(context, a);
            self.MissingCopyImplementations.check_variant(context, a);
            self.PtrNullChecks.check_variant(context, a);
            self.MutableTransmutes.check_variant(context, a);
            self.TypeAliasBounds.check_variant(context, a);
            self.TrivialConstraints.check_variant(context, a);
            self.TypeLimits.check_variant(context, a);
            self.NonSnakeCase.check_variant(context, a);
            self.InvalidNoMangleItems.check_variant(context, a);
            self.UnreachablePub.check_variant(context, a);
            self.ExplicitOutlivesRequirements.check_variant(context, a);
            self.InvalidValue.check_variant(context, a);
            self.DerefNullPtr.check_variant(context, a);
            self.UnstableFeatures.check_variant(context, a);
            self.UngatedAsyncFnTrackCaller.check_variant(context, a);
            self.ShadowedIntoIter.check_variant(context, a);
            self.DropTraitConstraints.check_variant(context, a);
            self.DanglingPointers.check_variant(context, a);
            self.NonPanicFmt.check_variant(context, a);
            self.NoopMethodCall.check_variant(context, a);
            self.EnumIntrinsicsNonEnums.check_variant(context, a);
            self.InvalidAtomicOrdering.check_variant(context, a);
            self.AsmLabels.check_variant(context, a);
            self.OpaqueHiddenInferredBound.check_variant(context, a);
            self.MultipleSupertraitUpcastable.check_variant(context, a);
            self.MapUnitFn.check_variant(context, a);
            self.MissingDebugImplementations.check_variant(context, a);
            self.MissingDoc.check_variant(context, a);
            self.AsyncClosureUsage.check_variant(context, a);
            self.AsyncFnInTrait.check_variant(context, a);
            self.NonLocalDefinitions.check_variant(context, a);
            self.InteriorMutableConsts.check_variant(context, a);
            self.ImplTraitOvercaptures.check_variant(context, a);
            self.IfLetRescope.check_variant(context, a);
            self.StaticMutRefs.check_variant(context, a);
            self.UnqualifiedLocalImports.check_variant(context, a);
            self.FunctionCastsAsInteger.check_variant(context, a);
            self.CheckTransmutes.check_variant(context, a);
            self.LifetimeSyntax.check_variant(context, a);
        };
    }
    fn check_path(&mut self, context: &crate::LateContext<'tcx>,
        a: &rustc_hir::Path<'tcx>, b: rustc_hir::HirId) {
        {
            self.ForLoopsOverFallibles.check_path(context, a, b);
            self.DefaultCouldBeDerived.check_path(context, a, b);
            self.DerefIntoDynSupertrait.check_path(context, a, b);
            self.DropForgetUseless.check_path(context, a, b);
            self.ImproperCTypesLint.check_path(context, a, b);
            self.ImproperGpuKernelLint.check_path(context, a, b);
            self.InvalidFromUtf8.check_path(context, a, b);
            self.VariantSizeDifferences.check_path(context, a, b);
            self.PathStatements.check_path(context, a, b);
            self.LetUnderscore.check_path(context, a, b);
            self.InvalidReferenceCasting.check_path(context, a, b);
            self.ImplicitAutorefs.check_path(context, a, b);
            self.UnusedResults.check_path(context, a, b);
            self.UnitBindings.check_path(context, a, b);
            self.NonUpperCaseGlobals.check_path(context, a, b);
            self.NonShorthandFieldPatterns.check_path(context, a, b);
            self.UnusedAllocation.check_path(context, a, b);
            self.MissingCopyImplementations.check_path(context, a, b);
            self.PtrNullChecks.check_path(context, a, b);
            self.MutableTransmutes.check_path(context, a, b);
            self.TypeAliasBounds.check_path(context, a, b);
            self.TrivialConstraints.check_path(context, a, b);
            self.TypeLimits.check_path(context, a, b);
            self.NonSnakeCase.check_path(context, a, b);
            self.InvalidNoMangleItems.check_path(context, a, b);
            self.UnreachablePub.check_path(context, a, b);
            self.ExplicitOutlivesRequirements.check_path(context, a, b);
            self.InvalidValue.check_path(context, a, b);
            self.DerefNullPtr.check_path(context, a, b);
            self.UnstableFeatures.check_path(context, a, b);
            self.UngatedAsyncFnTrackCaller.check_path(context, a, b);
            self.ShadowedIntoIter.check_path(context, a, b);
            self.DropTraitConstraints.check_path(context, a, b);
            self.DanglingPointers.check_path(context, a, b);
            self.NonPanicFmt.check_path(context, a, b);
            self.NoopMethodCall.check_path(context, a, b);
            self.EnumIntrinsicsNonEnums.check_path(context, a, b);
            self.InvalidAtomicOrdering.check_path(context, a, b);
            self.AsmLabels.check_path(context, a, b);
            self.OpaqueHiddenInferredBound.check_path(context, a, b);
            self.MultipleSupertraitUpcastable.check_path(context, a, b);
            self.MapUnitFn.check_path(context, a, b);
            self.MissingDebugImplementations.check_path(context, a, b);
            self.MissingDoc.check_path(context, a, b);
            self.AsyncClosureUsage.check_path(context, a, b);
            self.AsyncFnInTrait.check_path(context, a, b);
            self.NonLocalDefinitions.check_path(context, a, b);
            self.InteriorMutableConsts.check_path(context, a, b);
            self.ImplTraitOvercaptures.check_path(context, a, b);
            self.IfLetRescope.check_path(context, a, b);
            self.StaticMutRefs.check_path(context, a, b);
            self.UnqualifiedLocalImports.check_path(context, a, b);
            self.FunctionCastsAsInteger.check_path(context, a, b);
            self.CheckTransmutes.check_path(context, a, b);
            self.LifetimeSyntax.check_path(context, a, b);
        };
    }
    fn check_attribute(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx rustc_hir::Attribute) {
        {
            self.ForLoopsOverFallibles.check_attribute(context, a);
            self.DefaultCouldBeDerived.check_attribute(context, a);
            self.DerefIntoDynSupertrait.check_attribute(context, a);
            self.DropForgetUseless.check_attribute(context, a);
            self.ImproperCTypesLint.check_attribute(context, a);
            self.ImproperGpuKernelLint.check_attribute(context, a);
            self.InvalidFromUtf8.check_attribute(context, a);
            self.VariantSizeDifferences.check_attribute(context, a);
            self.PathStatements.check_attribute(context, a);
            self.LetUnderscore.check_attribute(context, a);
            self.InvalidReferenceCasting.check_attribute(context, a);
            self.ImplicitAutorefs.check_attribute(context, a);
            self.UnusedResults.check_attribute(context, a);
            self.UnitBindings.check_attribute(context, a);
            self.NonUpperCaseGlobals.check_attribute(context, a);
            self.NonShorthandFieldPatterns.check_attribute(context, a);
            self.UnusedAllocation.check_attribute(context, a);
            self.MissingCopyImplementations.check_attribute(context, a);
            self.PtrNullChecks.check_attribute(context, a);
            self.MutableTransmutes.check_attribute(context, a);
            self.TypeAliasBounds.check_attribute(context, a);
            self.TrivialConstraints.check_attribute(context, a);
            self.TypeLimits.check_attribute(context, a);
            self.NonSnakeCase.check_attribute(context, a);
            self.InvalidNoMangleItems.check_attribute(context, a);
            self.UnreachablePub.check_attribute(context, a);
            self.ExplicitOutlivesRequirements.check_attribute(context, a);
            self.InvalidValue.check_attribute(context, a);
            self.DerefNullPtr.check_attribute(context, a);
            self.UnstableFeatures.check_attribute(context, a);
            self.UngatedAsyncFnTrackCaller.check_attribute(context, a);
            self.ShadowedIntoIter.check_attribute(context, a);
            self.DropTraitConstraints.check_attribute(context, a);
            self.DanglingPointers.check_attribute(context, a);
            self.NonPanicFmt.check_attribute(context, a);
            self.NoopMethodCall.check_attribute(context, a);
            self.EnumIntrinsicsNonEnums.check_attribute(context, a);
            self.InvalidAtomicOrdering.check_attribute(context, a);
            self.AsmLabels.check_attribute(context, a);
            self.OpaqueHiddenInferredBound.check_attribute(context, a);
            self.MultipleSupertraitUpcastable.check_attribute(context, a);
            self.MapUnitFn.check_attribute(context, a);
            self.MissingDebugImplementations.check_attribute(context, a);
            self.MissingDoc.check_attribute(context, a);
            self.AsyncClosureUsage.check_attribute(context, a);
            self.AsyncFnInTrait.check_attribute(context, a);
            self.NonLocalDefinitions.check_attribute(context, a);
            self.InteriorMutableConsts.check_attribute(context, a);
            self.ImplTraitOvercaptures.check_attribute(context, a);
            self.IfLetRescope.check_attribute(context, a);
            self.StaticMutRefs.check_attribute(context, a);
            self.UnqualifiedLocalImports.check_attribute(context, a);
            self.FunctionCastsAsInteger.check_attribute(context, a);
            self.CheckTransmutes.check_attribute(context, a);
            self.LifetimeSyntax.check_attribute(context, a);
        };
    }
    fn check_attributes(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx [rustc_hir::Attribute]) {
        {
            self.ForLoopsOverFallibles.check_attributes(context, a);
            self.DefaultCouldBeDerived.check_attributes(context, a);
            self.DerefIntoDynSupertrait.check_attributes(context, a);
            self.DropForgetUseless.check_attributes(context, a);
            self.ImproperCTypesLint.check_attributes(context, a);
            self.ImproperGpuKernelLint.check_attributes(context, a);
            self.InvalidFromUtf8.check_attributes(context, a);
            self.VariantSizeDifferences.check_attributes(context, a);
            self.PathStatements.check_attributes(context, a);
            self.LetUnderscore.check_attributes(context, a);
            self.InvalidReferenceCasting.check_attributes(context, a);
            self.ImplicitAutorefs.check_attributes(context, a);
            self.UnusedResults.check_attributes(context, a);
            self.UnitBindings.check_attributes(context, a);
            self.NonUpperCaseGlobals.check_attributes(context, a);
            self.NonShorthandFieldPatterns.check_attributes(context, a);
            self.UnusedAllocation.check_attributes(context, a);
            self.MissingCopyImplementations.check_attributes(context, a);
            self.PtrNullChecks.check_attributes(context, a);
            self.MutableTransmutes.check_attributes(context, a);
            self.TypeAliasBounds.check_attributes(context, a);
            self.TrivialConstraints.check_attributes(context, a);
            self.TypeLimits.check_attributes(context, a);
            self.NonSnakeCase.check_attributes(context, a);
            self.InvalidNoMangleItems.check_attributes(context, a);
            self.UnreachablePub.check_attributes(context, a);
            self.ExplicitOutlivesRequirements.check_attributes(context, a);
            self.InvalidValue.check_attributes(context, a);
            self.DerefNullPtr.check_attributes(context, a);
            self.UnstableFeatures.check_attributes(context, a);
            self.UngatedAsyncFnTrackCaller.check_attributes(context, a);
            self.ShadowedIntoIter.check_attributes(context, a);
            self.DropTraitConstraints.check_attributes(context, a);
            self.DanglingPointers.check_attributes(context, a);
            self.NonPanicFmt.check_attributes(context, a);
            self.NoopMethodCall.check_attributes(context, a);
            self.EnumIntrinsicsNonEnums.check_attributes(context, a);
            self.InvalidAtomicOrdering.check_attributes(context, a);
            self.AsmLabels.check_attributes(context, a);
            self.OpaqueHiddenInferredBound.check_attributes(context, a);
            self.MultipleSupertraitUpcastable.check_attributes(context, a);
            self.MapUnitFn.check_attributes(context, a);
            self.MissingDebugImplementations.check_attributes(context, a);
            self.MissingDoc.check_attributes(context, a);
            self.AsyncClosureUsage.check_attributes(context, a);
            self.AsyncFnInTrait.check_attributes(context, a);
            self.NonLocalDefinitions.check_attributes(context, a);
            self.InteriorMutableConsts.check_attributes(context, a);
            self.ImplTraitOvercaptures.check_attributes(context, a);
            self.IfLetRescope.check_attributes(context, a);
            self.StaticMutRefs.check_attributes(context, a);
            self.UnqualifiedLocalImports.check_attributes(context, a);
            self.FunctionCastsAsInteger.check_attributes(context, a);
            self.CheckTransmutes.check_attributes(context, a);
            self.LifetimeSyntax.check_attributes(context, a);
        };
    }
    fn check_attributes_post(&mut self, context: &crate::LateContext<'tcx>,
        a: &'tcx [rustc_hir::Attribute]) {
        {
            self.ForLoopsOverFallibles.check_attributes_post(context, a);
            self.DefaultCouldBeDerived.check_attributes_post(context, a);
            self.DerefIntoDynSupertrait.check_attributes_post(context, a);
            self.DropForgetUseless.check_attributes_post(context, a);
            self.ImproperCTypesLint.check_attributes_post(context, a);
            self.ImproperGpuKernelLint.check_attributes_post(context, a);
            self.InvalidFromUtf8.check_attributes_post(context, a);
            self.VariantSizeDifferences.check_attributes_post(context, a);
            self.PathStatements.check_attributes_post(context, a);
            self.LetUnderscore.check_attributes_post(context, a);
            self.InvalidReferenceCasting.check_attributes_post(context, a);
            self.ImplicitAutorefs.check_attributes_post(context, a);
            self.UnusedResults.check_attributes_post(context, a);
            self.UnitBindings.check_attributes_post(context, a);
            self.NonUpperCaseGlobals.check_attributes_post(context, a);
            self.NonShorthandFieldPatterns.check_attributes_post(context, a);
            self.UnusedAllocation.check_attributes_post(context, a);
            self.MissingCopyImplementations.check_attributes_post(context, a);
            self.PtrNullChecks.check_attributes_post(context, a);
            self.MutableTransmutes.check_attributes_post(context, a);
            self.TypeAliasBounds.check_attributes_post(context, a);
            self.TrivialConstraints.check_attributes_post(context, a);
            self.TypeLimits.check_attributes_post(context, a);
            self.NonSnakeCase.check_attributes_post(context, a);
            self.InvalidNoMangleItems.check_attributes_post(context, a);
            self.UnreachablePub.check_attributes_post(context, a);
            self.ExplicitOutlivesRequirements.check_attributes_post(context,
                a);
            self.InvalidValue.check_attributes_post(context, a);
            self.DerefNullPtr.check_attributes_post(context, a);
            self.UnstableFeatures.check_attributes_post(context, a);
            self.UngatedAsyncFnTrackCaller.check_attributes_post(context, a);
            self.ShadowedIntoIter.check_attributes_post(context, a);
            self.DropTraitConstraints.check_attributes_post(context, a);
            self.DanglingPointers.check_attributes_post(context, a);
            self.NonPanicFmt.check_attributes_post(context, a);
            self.NoopMethodCall.check_attributes_post(context, a);
            self.EnumIntrinsicsNonEnums.check_attributes_post(context, a);
            self.InvalidAtomicOrdering.check_attributes_post(context, a);
            self.AsmLabels.check_attributes_post(context, a);
            self.OpaqueHiddenInferredBound.check_attributes_post(context, a);
            self.MultipleSupertraitUpcastable.check_attributes_post(context,
                a);
            self.MapUnitFn.check_attributes_post(context, a);
            self.MissingDebugImplementations.check_attributes_post(context,
                a);
            self.MissingDoc.check_attributes_post(context, a);
            self.AsyncClosureUsage.check_attributes_post(context, a);
            self.AsyncFnInTrait.check_attributes_post(context, a);
            self.NonLocalDefinitions.check_attributes_post(context, a);
            self.InteriorMutableConsts.check_attributes_post(context, a);
            self.ImplTraitOvercaptures.check_attributes_post(context, a);
            self.IfLetRescope.check_attributes_post(context, a);
            self.StaticMutRefs.check_attributes_post(context, a);
            self.UnqualifiedLocalImports.check_attributes_post(context, a);
            self.FunctionCastsAsInteger.check_attributes_post(context, a);
            self.CheckTransmutes.check_attributes_post(context, a);
            self.LifetimeSyntax.check_attributes_post(context, a);
        };
    }
}
#[allow(rustc :: lint_pass_impl_without_macro)]
impl crate::LintPass for BuiltinCombinedModuleLateLintPass {
    fn name(&self) -> &'static str { "BuiltinCombinedModuleLateLintPass" }
    fn get_lints(&self) -> LintVec {
        BuiltinCombinedModuleLateLintPass::get_lints()
    }
}late_lint_methods!(
192    declare_combined_late_lint_pass,
193    [
194        BuiltinCombinedModuleLateLintPass,
195        [
196            ForLoopsOverFallibles: ForLoopsOverFallibles,
197            DefaultCouldBeDerived: DefaultCouldBeDerived,
198            DerefIntoDynSupertrait: DerefIntoDynSupertrait,
199            DropForgetUseless: DropForgetUseless,
200            ImproperCTypesLint: ImproperCTypesLint,
201            ImproperGpuKernelLint: ImproperGpuKernelLint,
202            InvalidFromUtf8: InvalidFromUtf8,
203            VariantSizeDifferences: VariantSizeDifferences,
204            PathStatements: PathStatements,
205            LetUnderscore: LetUnderscore,
206            InvalidReferenceCasting: InvalidReferenceCasting,
207            ImplicitAutorefs: ImplicitAutorefs,
208            // Depends on referenced function signatures in expressions
209            UnusedResults: UnusedResults,
210            UnitBindings: UnitBindings,
211            NonUpperCaseGlobals: NonUpperCaseGlobals,
212            NonShorthandFieldPatterns: NonShorthandFieldPatterns,
213            UnusedAllocation: UnusedAllocation,
214            // Depends on types used in type definitions
215            MissingCopyImplementations: MissingCopyImplementations,
216            // Depends on referenced function signatures in expressions
217            PtrNullChecks: PtrNullChecks,
218            MutableTransmutes: MutableTransmutes,
219            TypeAliasBounds: TypeAliasBounds,
220            TrivialConstraints: TrivialConstraints,
221            TypeLimits: TypeLimits::new(),
222            NonSnakeCase: NonSnakeCase,
223            InvalidNoMangleItems: InvalidNoMangleItems,
224            // Depends on effective visibilities
225            UnreachablePub: UnreachablePub,
226            ExplicitOutlivesRequirements: ExplicitOutlivesRequirements,
227            InvalidValue: InvalidValue,
228            DerefNullPtr: DerefNullPtr,
229            UnstableFeatures: UnstableFeatures,
230            UngatedAsyncFnTrackCaller: UngatedAsyncFnTrackCaller,
231            ShadowedIntoIter: ShadowedIntoIter,
232            DropTraitConstraints: DropTraitConstraints,
233            DanglingPointers: DanglingPointers,
234            NonPanicFmt: NonPanicFmt,
235            NoopMethodCall: NoopMethodCall,
236            EnumIntrinsicsNonEnums: EnumIntrinsicsNonEnums,
237            InvalidAtomicOrdering: InvalidAtomicOrdering,
238            AsmLabels: AsmLabels,
239            OpaqueHiddenInferredBound: OpaqueHiddenInferredBound,
240            MultipleSupertraitUpcastable: MultipleSupertraitUpcastable,
241            MapUnitFn: MapUnitFn,
242            MissingDebugImplementations: MissingDebugImplementations,
243            MissingDoc: MissingDoc,
244            AsyncClosureUsage: AsyncClosureUsage,
245            AsyncFnInTrait: AsyncFnInTrait,
246            NonLocalDefinitions: NonLocalDefinitions::default(),
247            InteriorMutableConsts: InteriorMutableConsts,
248            ImplTraitOvercaptures: ImplTraitOvercaptures,
249            IfLetRescope: IfLetRescope::default(),
250            StaticMutRefs: StaticMutRefs,
251            UnqualifiedLocalImports: UnqualifiedLocalImports,
252            FunctionCastsAsInteger: FunctionCastsAsInteger,
253            CheckTransmutes: CheckTransmutes,
254            LifetimeSyntax: LifetimeSyntax,
255        ]
256    ]
257);
258
259pub fn new_lint_store(internal_lints: bool) -> LintStore {
260    let mut lint_store = LintStore::new();
261
262    register_builtins(&mut lint_store);
263    if internal_lints {
264        register_internals(&mut lint_store);
265    }
266
267    lint_store
268}
269
270/// Tell the `LintStore` about all the built-in lints (the ones
271/// defined in this crate and the ones defined in
272/// `rustc_session::lint::builtin`).
273fn register_builtins(store: &mut LintStore) {
274    macro_rules! add_lint_group {
275        ($name:expr, $($lint:ident),*) => (
276            store.register_group(false, $name, None, vec![$(LintId::of($lint)),*]);
277        )
278    }
279
280    store.register_lints(&BuiltinCombinedPreExpansionLintPass::get_lints());
281    store.register_lints(&BuiltinCombinedEarlyLintPass::get_lints());
282    store.register_lints(&BuiltinCombinedModuleLateLintPass::get_lints());
283    store.register_lints(&foreign_modules::get_lints());
284    store.register_lints(&HardwiredLints::lint_vec());
285
286    store.register_group(false, "nonstandard_style", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(NON_CAMEL_CASE_TYPES),
                    LintId::of(NON_SNAKE_CASE),
                    LintId::of(NON_UPPER_CASE_GLOBALS)])));add_lint_group!(
287        "nonstandard_style",
288        NON_CAMEL_CASE_TYPES,
289        NON_SNAKE_CASE,
290        NON_UPPER_CASE_GLOBALS
291    );
292
293    store.register_group(false, "unused", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(UNUSED_IMPORTS),
                    LintId::of(UNUSED_VARIABLES),
                    LintId::of(UNUSED_VISIBILITIES),
                    LintId::of(UNUSED_ASSIGNMENTS), LintId::of(DEAD_CODE),
                    LintId::of(UNUSED_MUT), LintId::of(UNREACHABLE_CODE),
                    LintId::of(UNREACHABLE_PATTERNS),
                    LintId::of(UNUSED_MUST_USE), LintId::of(UNUSED_UNSAFE),
                    LintId::of(PATH_STATEMENTS), LintId::of(UNUSED_ATTRIBUTES),
                    LintId::of(UNUSED_MACROS), LintId::of(UNUSED_MACRO_RULES),
                    LintId::of(UNUSED_ALLOCATION),
                    LintId::of(UNUSED_DOC_COMMENTS),
                    LintId::of(UNUSED_EXTERN_CRATES),
                    LintId::of(UNUSED_FEATURES), LintId::of(UNUSED_LABELS),
                    LintId::of(UNUSED_PARENS), LintId::of(UNUSED_BRACES),
                    LintId::of(REDUNDANT_SEMICOLONS),
                    LintId::of(MAP_UNIT_FN)])));add_lint_group!(
294        "unused",
295        UNUSED_IMPORTS,
296        UNUSED_VARIABLES,
297        UNUSED_VISIBILITIES,
298        UNUSED_ASSIGNMENTS,
299        DEAD_CODE,
300        UNUSED_MUT,
301        UNREACHABLE_CODE,
302        UNREACHABLE_PATTERNS,
303        UNUSED_MUST_USE,
304        UNUSED_UNSAFE,
305        PATH_STATEMENTS,
306        UNUSED_ATTRIBUTES,
307        UNUSED_MACROS,
308        UNUSED_MACRO_RULES,
309        UNUSED_ALLOCATION,
310        UNUSED_DOC_COMMENTS,
311        UNUSED_EXTERN_CRATES,
312        UNUSED_FEATURES,
313        UNUSED_LABELS,
314        UNUSED_PARENS,
315        UNUSED_BRACES,
316        REDUNDANT_SEMICOLONS,
317        MAP_UNIT_FN
318    );
319
320    store.register_group(false, "let_underscore", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(LET_UNDERSCORE_DROP),
                    LintId::of(LET_UNDERSCORE_LOCK)])));add_lint_group!("let_underscore", LET_UNDERSCORE_DROP, LET_UNDERSCORE_LOCK);
321
322    store.register_group(false, "rust_2018_idioms", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(BARE_TRAIT_OBJECTS),
                    LintId::of(UNUSED_EXTERN_CRATES),
                    LintId::of(ELLIPSIS_INCLUSIVE_RANGE_PATTERNS),
                    LintId::of(ELIDED_LIFETIMES_IN_PATHS),
                    LintId::of(EXPLICIT_OUTLIVES_REQUIREMENTS)])));add_lint_group!(
323        "rust_2018_idioms",
324        BARE_TRAIT_OBJECTS,
325        UNUSED_EXTERN_CRATES,
326        ELLIPSIS_INCLUSIVE_RANGE_PATTERNS,
327        ELIDED_LIFETIMES_IN_PATHS,
328        EXPLICIT_OUTLIVES_REQUIREMENTS // FIXME(#52665, #47816) not always applicable and not all
329                                       // macros are ready for this yet.
330                                       // UNREACHABLE_PUB,
331
332                                       // FIXME macro crates are not up for this yet, too much
333                                       // breakage is seen if we try to encourage this lint.
334                                       // MACRO_USE_EXTERN_CRATE
335    );
336
337    store.register_group(false, "keyword_idents", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(KEYWORD_IDENTS_2018),
                    LintId::of(KEYWORD_IDENTS_2024)])));add_lint_group!("keyword_idents", KEYWORD_IDENTS_2018, KEYWORD_IDENTS_2024);
338
339    store.register_group(false, "refining_impl_trait", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(REFINING_IMPL_TRAIT_REACHABLE),
                    LintId::of(REFINING_IMPL_TRAIT_INTERNAL)])));add_lint_group!(
340        "refining_impl_trait",
341        REFINING_IMPL_TRAIT_REACHABLE,
342        REFINING_IMPL_TRAIT_INTERNAL
343    );
344
345    store.register_group(false, "deprecated_safe", None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(DEPRECATED_SAFE_2024)])));add_lint_group!("deprecated_safe", DEPRECATED_SAFE_2024);
346
347    store.register_group(false, "unknown_or_malformed_diagnostic_attributes",
    None,
    <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(MALFORMED_DIAGNOSTIC_ATTRIBUTES),
                    LintId::of(MALFORMED_DIAGNOSTIC_FORMAT_LITERALS),
                    LintId::of(MISPLACED_DIAGNOSTIC_ATTRIBUTES),
                    LintId::of(UNKNOWN_DIAGNOSTIC_ATTRIBUTES)])));add_lint_group!(
348        "unknown_or_malformed_diagnostic_attributes",
349        MALFORMED_DIAGNOSTIC_ATTRIBUTES,
350        MALFORMED_DIAGNOSTIC_FORMAT_LITERALS,
351        MISPLACED_DIAGNOSTIC_ATTRIBUTES,
352        UNKNOWN_DIAGNOSTIC_ATTRIBUTES
353    );
354
355    // Register renamed and removed lints.
356    store.register_renamed("single_use_lifetime", "single_use_lifetimes");
357    store.register_renamed("elided_lifetime_in_path", "elided_lifetimes_in_paths");
358    store.register_renamed("bare_trait_object", "bare_trait_objects");
359    store.register_renamed("unstable_name_collision", "unstable_name_collisions");
360    store.register_renamed("unused_doc_comment", "unused_doc_comments");
361    store.register_renamed("async_idents", "keyword_idents_2018");
362    store.register_renamed("exceeding_bitshifts", "arithmetic_overflow");
363    store.register_renamed("redundant_semicolon", "redundant_semicolons");
364    store.register_renamed("overlapping_patterns", "overlapping_range_endpoints");
365    store.register_renamed("disjoint_capture_migration", "rust_2021_incompatible_closure_captures");
366    store.register_renamed("or_patterns_back_compat", "rust_2021_incompatible_or_patterns");
367    store.register_renamed("non_fmt_panic", "non_fmt_panics");
368    store.register_renamed("unused_tuple_struct_fields", "dead_code");
369    store.register_renamed("static_mut_ref", "static_mut_refs");
370    store.register_renamed("temporary_cstring_as_ptr", "dangling_pointers_from_temporaries");
371    store.register_renamed("elided_named_lifetimes", "mismatched_lifetime_syntaxes");
372    store.register_renamed(
373        "repr_transparent_external_private_fields",
374        "repr_transparent_non_zst_fields",
375    );
376
377    // These were moved to tool lints, but rustc still sees them when compiling normally, before
378    // tool lints are registered, so `check_tool_name_for_backwards_compat` doesn't work. Use
379    // `register_removed` explicitly.
380    const RUSTDOC_LINTS: &[&str] = &[
381        "broken_intra_doc_links",
382        "private_intra_doc_links",
383        "missing_crate_level_docs",
384        "missing_doc_code_examples",
385        "private_doc_tests",
386        "invalid_codeblock_attributes",
387        "invalid_html_tags",
388        "non_autolinks",
389    ];
390    for rustdoc_lint in RUSTDOC_LINTS {
391        store.register_ignored(rustdoc_lint);
392    }
393    store.register_removed(
394        "intra_doc_link_resolution_failure",
395        "use `rustdoc::broken_intra_doc_links` instead",
396    );
397    store.register_removed("rustdoc", "use `rustdoc::all` instead");
398
399    store.register_removed("unknown_features", "replaced by an error");
400    store.register_removed("unsigned_negation", "replaced by negate_unsigned feature gate");
401    store.register_removed("negate_unsigned", "cast a signed value instead");
402    store.register_removed("raw_pointer_derive", "using derive with raw pointers is ok");
403    // Register lint group aliases.
404    store.register_group_alias("nonstandard_style", "bad_style");
405    // This was renamed to `raw_pointer_derive`, which was then removed,
406    // so it is also considered removed.
407    store.register_removed("raw_pointer_deriving", "using derive with raw pointers is ok");
408    store.register_removed("drop_with_repr_extern", "drop flags have been removed");
409    store.register_removed("fat_ptr_transmutes", "was accidentally removed back in 2014");
410    store.register_removed("deprecated_attr", "use `deprecated` instead");
411    store.register_removed(
412        "transmute_from_fn_item_types",
413        "always cast functions before transmuting them",
414    );
415    store.register_removed(
416        "hr_lifetime_in_assoc_type",
417        "converted into hard error, see issue #33685 \
418         <https://github.com/rust-lang/rust/issues/33685> for more information",
419    );
420    store.register_removed(
421        "inaccessible_extern_crate",
422        "converted into hard error, see issue #36886 \
423         <https://github.com/rust-lang/rust/issues/36886> for more information",
424    );
425    store.register_removed(
426        "super_or_self_in_global_path",
427        "converted into hard error, see issue #36888 \
428         <https://github.com/rust-lang/rust/issues/36888> for more information",
429    );
430    store.register_removed(
431        "overlapping_inherent_impls",
432        "converted into hard error, see issue #36889 \
433         <https://github.com/rust-lang/rust/issues/36889> for more information",
434    );
435    store.register_removed(
436        "illegal_floating_point_constant_pattern",
437        "converted into hard error, see issue #36890 \
438         <https://github.com/rust-lang/rust/issues/36890> for more information",
439    );
440    store.register_removed(
441        "illegal_struct_or_enum_constant_pattern",
442        "converted into hard error, see issue #36891 \
443         <https://github.com/rust-lang/rust/issues/36891> for more information",
444    );
445    store.register_removed(
446        "lifetime_underscore",
447        "converted into hard error, see issue #36892 \
448         <https://github.com/rust-lang/rust/issues/36892> for more information",
449    );
450    store.register_removed(
451        "extra_requirement_in_impl",
452        "converted into hard error, see issue #37166 \
453         <https://github.com/rust-lang/rust/issues/37166> for more information",
454    );
455    store.register_removed(
456        "legacy_imports",
457        "converted into hard error, see issue #38260 \
458         <https://github.com/rust-lang/rust/issues/38260> for more information",
459    );
460    store.register_removed(
461        "coerce_never",
462        "converted into hard error, see issue #48950 \
463         <https://github.com/rust-lang/rust/issues/48950> for more information",
464    );
465    store.register_removed(
466        "resolve_trait_on_defaulted_unit",
467        "converted into hard error, see issue #48950 \
468         <https://github.com/rust-lang/rust/issues/48950> for more information",
469    );
470    store.register_removed(
471        "private_no_mangle_fns",
472        "no longer a warning, `#[no_mangle]` functions always exported",
473    );
474    store.register_removed(
475        "private_no_mangle_statics",
476        "no longer a warning, `#[no_mangle]` statics always exported",
477    );
478    store.register_removed("bad_repr", "replaced with a generic attribute input check");
479    store.register_removed(
480        "duplicate_matcher_binding_name",
481        "converted into hard error, see issue #57742 \
482         <https://github.com/rust-lang/rust/issues/57742> for more information",
483    );
484    store.register_removed(
485        "incoherent_fundamental_impls",
486        "converted into hard error, see issue #46205 \
487         <https://github.com/rust-lang/rust/issues/46205> for more information",
488    );
489    store.register_removed(
490        "legacy_constructor_visibility",
491        "converted into hard error, see issue #39207 \
492         <https://github.com/rust-lang/rust/issues/39207> for more information",
493    );
494    store.register_removed(
495        "legacy_directory_ownership",
496        "converted into hard error, see issue #37872 \
497         <https://github.com/rust-lang/rust/issues/37872> for more information",
498    );
499    store.register_removed(
500        "safe_extern_statics",
501        "converted into hard error, see issue #36247 \
502         <https://github.com/rust-lang/rust/issues/36247> for more information",
503    );
504    store.register_removed(
505        "parenthesized_params_in_types_and_modules",
506        "converted into hard error, see issue #42238 \
507         <https://github.com/rust-lang/rust/issues/42238> for more information",
508    );
509    store.register_removed(
510        "duplicate_macro_exports",
511        "converted into hard error, see issue #35896 \
512         <https://github.com/rust-lang/rust/issues/35896> for more information",
513    );
514    store.register_removed(
515        "nested_impl_trait",
516        "converted into hard error, see issue #59014 \
517         <https://github.com/rust-lang/rust/issues/59014> for more information",
518    );
519    store.register_removed("plugin_as_library", "plugins have been deprecated and retired");
520    store.register_removed(
521        "unsupported_naked_functions",
522        "converted into hard error, see RFC 2972 \
523         <https://github.com/rust-lang/rfcs/blob/master/text/2972-constrained-naked.md> for more information",
524    );
525    store.register_removed(
526        "mutable_borrow_reservation_conflict",
527        "now allowed, see issue #59159 \
528         <https://github.com/rust-lang/rust/issues/59159> for more information",
529    );
530    store.register_removed(
531        "const_err",
532        "converted into hard error, see issue #71800 \
533         <https://github.com/rust-lang/rust/issues/71800> for more information",
534    );
535    store.register_removed(
536        "safe_packed_borrows",
537        "converted into hard error, see issue #82523 \
538         <https://github.com/rust-lang/rust/issues/82523> for more information",
539    );
540    store.register_removed(
541        "unaligned_references",
542        "converted into hard error, see issue #82523 \
543         <https://github.com/rust-lang/rust/issues/82523> for more information",
544    );
545    store.register_removed(
546        "private_in_public",
547        "replaced with another group of lints, see RFC \
548         <https://rust-lang.github.io/rfcs/2145-type-privacy.html> for more information",
549    );
550    store.register_removed(
551        "invalid_alignment",
552        "converted into hard error, see PR #104616 \
553         <https://github.com/rust-lang/rust/pull/104616> for more information",
554    );
555    store.register_removed(
556        "implied_bounds_entailment",
557        "converted into hard error, see PR #117984 \
558        <https://github.com/rust-lang/rust/pull/117984> for more information",
559    );
560    store.register_removed(
561        "coinductive_overlap_in_coherence",
562        "converted into hard error, see PR #118649 \
563         <https://github.com/rust-lang/rust/pull/118649> for more information",
564    );
565    store.register_removed(
566        "illegal_floating_point_literal_pattern",
567        "no longer a warning, float patterns behave the same as `==`",
568    );
569    store.register_removed(
570        "nontrivial_structural_match",
571        "no longer needed, see RFC #3535 \
572         <https://rust-lang.github.io/rfcs/3535-constants-in-patterns.html> for more information",
573    );
574    store.register_removed(
575        "suspicious_auto_trait_impls",
576        "no longer needed, see issue #93367 \
577         <https://github.com/rust-lang/rust/issues/93367> for more information",
578    );
579    store.register_removed(
580        "const_patterns_without_partial_eq",
581        "converted into hard error, see RFC #3535 \
582         <https://rust-lang.github.io/rfcs/3535-constants-in-patterns.html> for more information",
583    );
584    store.register_removed(
585        "indirect_structural_match",
586        "converted into hard error, see RFC #3535 \
587         <https://rust-lang.github.io/rfcs/3535-constants-in-patterns.html> for more information",
588    );
589    store.register_removed(
590        "deprecated_cfg_attr_crate_type_name",
591        "converted into hard error, see issue #91632 \
592         <https://github.com/rust-lang/rust/issues/91632> for more information",
593    );
594    store.register_removed(
595        "pointer_structural_match",
596        "converted into hard error, see RFC #3535 \
597         <https://rust-lang.github.io/rfcs/3535-constants-in-patterns.html> for more information",
598    );
599    store.register_removed(
600        "box_pointers",
601        "it does not detect other kinds of allocations, and existed only for historical reasons",
602    );
603    store.register_removed(
604        "byte_slice_in_packed_struct_with_derive",
605        "converted into hard error, see issue #107457 \
606         <https://github.com/rust-lang/rust/issues/107457> for more information",
607    );
608    store.register_removed("writes_through_immutable_pointer", "converted into hard error");
609    store.register_removed(
610        "const_eval_mutable_ptr_in_final_value",
611        "partially allowed now, otherwise turned into a hard error",
612    );
613    store.register_removed(
614        "where_clauses_object_safety",
615        "converted into hard error, see PR #125380 \
616         <https://github.com/rust-lang/rust/pull/125380> for more information",
617    );
618    store.register_removed(
619        "cenum_impl_drop_cast",
620        "converted into hard error, \
621         see <https://github.com/rust-lang/rust/issues/73333> for more information",
622    );
623    store.register_removed(
624        "ptr_cast_add_auto_to_object",
625        "converted into hard error, see issue #127323 \
626         <https://github.com/rust-lang/rust/issues/127323> for more information",
627    );
628    store.register_removed("unsupported_fn_ptr_calling_conventions", "converted into hard error");
629    store.register_removed(
630        "undefined_naked_function_abi",
631        "converted into hard error, see PR #139001 \
632         <https://github.com/rust-lang/rust/issues/139001> for more information",
633    );
634    store.register_removed(
635        "abi_unsupported_vector_types",
636        "converted into hard error, \
637         see <https://github.com/rust-lang/rust/issues/116558> for more information",
638    );
639    store.register_removed(
640        "missing_fragment_specifier",
641        "converted into hard error, \
642         see <https://github.com/rust-lang/rust/issues/40107> for more information",
643    );
644    store.register_removed("wasm_c_abi", "the wasm C ABI has been fixed");
645}
646
647fn register_internals(store: &mut LintStore) {
648    store.register_lints(&LintPassImpl::lint_vec());
649    store.register_early_pass(|| Box::new(LintPassImpl));
650    store.register_lints(&DefaultHashTypes::lint_vec());
651    store.register_late_mod_pass(|_| Box::new(DefaultHashTypes));
652    store.register_lints(&QueryStability::lint_vec());
653    store.register_late_mod_pass(|_| Box::new(QueryStability));
654    store.register_lints(&TyTyKind::lint_vec());
655    store.register_late_mod_pass(|_| Box::new(TyTyKind));
656    store.register_lints(&TypeIr::lint_vec());
657    store.register_late_mod_pass(|_| Box::new(TypeIr));
658    store.register_lints(&Diagnostics::lint_vec());
659    store.register_late_mod_pass(|_| Box::new(Diagnostics));
660    store.register_lints(&BadOptAccess::lint_vec());
661    store.register_late_mod_pass(|_| Box::new(BadOptAccess));
662    store.register_lints(&PassByValue::lint_vec());
663    store.register_late_mod_pass(|_| Box::new(PassByValue));
664    store.register_lints(&SpanUseEqCtxt::lint_vec());
665    store.register_late_mod_pass(|_| Box::new(SpanUseEqCtxt));
666    store.register_lints(&SymbolInternStringLiteral::lint_vec());
667    store.register_late_mod_pass(|_| Box::new(SymbolInternStringLiteral));
668    store.register_lints(&ImplicitSysrootCrateImport::lint_vec());
669    store.register_early_pass(|| Box::new(ImplicitSysrootCrateImport));
670    // FIXME(davidtwco): deliberately do not include `UNTRANSLATABLE_DIAGNOSTIC` and
671    // `DIAGNOSTIC_OUTSIDE_OF_IMPL` here because `-Wrustc::internal` is provided to every crate and
672    // these lints will trigger all of the time - change this once migration to diagnostic structs
673    // and translation is completed
674    store.register_group(
675        false,
676        "rustc::internal",
677        None,
678        <[_]>::into_vec(::alloc::boxed::box_new([LintId::of(DEFAULT_HASH_TYPES),
                LintId::of(POTENTIAL_QUERY_INSTABILITY),
                LintId::of(UNTRACKED_QUERY_INFORMATION),
                LintId::of(USAGE_OF_TY_TYKIND), LintId::of(PASS_BY_VALUE),
                LintId::of(LINT_PASS_IMPL_WITHOUT_MACRO),
                LintId::of(USAGE_OF_QUALIFIED_TY),
                LintId::of(NON_GLOB_IMPORT_OF_TYPE_IR_INHERENT),
                LintId::of(USAGE_OF_TYPE_IR_INHERENT),
                LintId::of(USAGE_OF_TYPE_IR_TRAITS),
                LintId::of(BAD_OPT_ACCESS), LintId::of(SPAN_USE_EQ_CTXT),
                LintId::of(DIRECT_USE_OF_RUSTC_TYPE_IR),
                LintId::of(IMPLICIT_SYSROOT_CRATE_IMPORT)]))vec![
679            LintId::of(DEFAULT_HASH_TYPES),
680            LintId::of(POTENTIAL_QUERY_INSTABILITY),
681            LintId::of(UNTRACKED_QUERY_INFORMATION),
682            LintId::of(USAGE_OF_TY_TYKIND),
683            LintId::of(PASS_BY_VALUE),
684            LintId::of(LINT_PASS_IMPL_WITHOUT_MACRO),
685            LintId::of(USAGE_OF_QUALIFIED_TY),
686            LintId::of(NON_GLOB_IMPORT_OF_TYPE_IR_INHERENT),
687            LintId::of(USAGE_OF_TYPE_IR_INHERENT),
688            LintId::of(USAGE_OF_TYPE_IR_TRAITS),
689            LintId::of(BAD_OPT_ACCESS),
690            LintId::of(SPAN_USE_EQ_CTXT),
691            LintId::of(DIRECT_USE_OF_RUSTC_TYPE_IR),
692            LintId::of(IMPLICIT_SYSROOT_CRATE_IMPORT),
693        ],
694    );
695}
696
697#[cfg(test)]
698mod tests;