Skip to main content

rustc_session/
lib.rs

1// tidy-alphabetical-start
2#![allow(internal_features)]
3#![feature(default_field_values)]
4#![feature(iter_intersperse)]
5#![feature(macro_derive)]
6#![feature(rustc_attrs)]
7// To generate CodegenOptionsTargetModifiers and UnstableOptionsTargetModifiers enums
8// with macro_rules, it is necessary to use recursive mechanic ("Incremental TT Munchers").
9#![recursion_limit = "256"]
10// tidy-alphabetical-end
11
12pub mod errors;
13
14pub mod utils;
15pub use lint::{declare_lint, declare_lint_pass, declare_tool_lint, impl_lint_pass};
16pub use rustc_lint_defs as lint;
17pub mod parse;
18
19pub mod code_stats;
20#[macro_use]
21pub mod config;
22pub mod cstore;
23pub mod filesearch;
24mod macros;
25mod options;
26pub mod search_paths;
27
28mod session;
29pub use session::*;
30
31pub mod output;
32
33pub use getopts;
34
35#[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 `session_apple_deployment_target_invalid` from `session`"]
    pub const session_apple_deployment_target_invalid:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_apple_deployment_target_invalid"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_apple_deployment_target_too_low` from `session`"]
    pub const session_apple_deployment_target_too_low:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_apple_deployment_target_too_low"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_binary_float_literal_not_supported` from `session`"]
    pub const session_binary_float_literal_not_supported:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_binary_float_literal_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_branch_protection_requires_aarch64` from `session`"]
    pub const session_branch_protection_requires_aarch64:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_branch_protection_requires_aarch64"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_cannot_enable_crt_static_linux` from `session`"]
    pub const session_cannot_enable_crt_static_linux:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_cannot_enable_crt_static_linux"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_cannot_mix_and_match_sanitizers` from `session`"]
    pub const session_cannot_mix_and_match_sanitizers:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_cannot_mix_and_match_sanitizers"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_cli_feature_diagnostic_help` from `session`"]
    pub const session_cli_feature_diagnostic_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_cli_feature_diagnostic_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_crate_name_empty` from `session`"]
    pub const session_crate_name_empty: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_crate_name_empty"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_embed_source_insufficient_dwarf_version` from `session`"]
    pub const session_embed_source_insufficient_dwarf_version:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_embed_source_insufficient_dwarf_version"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_embed_source_requires_debug_info` from `session`"]
    pub const session_embed_source_requires_debug_info:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_embed_source_requires_debug_info"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_expr_parentheses_needed` from `session`"]
    pub const session_expr_parentheses_needed: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_expr_parentheses_needed"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_failed_to_create_profiler` from `session`"]
    pub const session_failed_to_create_profiler: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_failed_to_create_profiler"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_feature_diagnostic_for_issue` from `session`"]
    pub const session_feature_diagnostic_for_issue: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_feature_diagnostic_for_issue"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_feature_diagnostic_help` from `session`"]
    pub const session_feature_diagnostic_help: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_feature_diagnostic_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_feature_diagnostic_suggestion` from `session`"]
    pub const session_feature_diagnostic_suggestion: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_feature_diagnostic_suggestion"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_feature_suggest_upgrade_compiler` from `session`"]
    pub const session_feature_suggest_upgrade_compiler:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_feature_suggest_upgrade_compiler"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_file_is_not_writeable` from `session`"]
    pub const session_file_is_not_writeable: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_file_is_not_writeable"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_file_write_fail` from `session`"]
    pub const session_file_write_fail: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_file_write_fail"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_function_return_requires_x86_or_x86_64` from `session`"]
    pub const session_function_return_requires_x86_or_x86_64:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_function_return_requires_x86_or_x86_64"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_function_return_thunk_extern_requires_non_large_code_model` from `session`"]
    pub const
        session_function_return_thunk_extern_requires_non_large_code_model:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_function_return_thunk_extern_requires_non_large_code_model"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_hexadecimal_float_literal_not_supported` from `session`"]
    pub const session_hexadecimal_float_literal_not_supported:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_hexadecimal_float_literal_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_incompatible_linker_flavor` from `session`"]
    pub const session_incompatible_linker_flavor: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_incompatible_linker_flavor"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_incompatible_linker_flavor.note` from `session`"]
    pub const session_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note"));
    #[doc =
    "Constant referring to Fluent message `session_indirect_branch_cs_prefix_requires_x86_or_x86_64` from `session`"]
    pub const session_indirect_branch_cs_prefix_requires_x86_or_x86_64:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_indirect_branch_cs_prefix_requires_x86_or_x86_64"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_instrumentation_not_supported` from `session`"]
    pub const session_instrumentation_not_supported: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_instrumentation_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_int_literal_too_large` from `session`"]
    pub const session_int_literal_too_large: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_int_literal_too_large"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_character_in_crate_name` from `session`"]
    pub const session_invalid_character_in_crate_name:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_character_in_crate_name"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_float_literal_suffix` from `session`"]
    pub const session_invalid_float_literal_suffix: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_float_literal_suffix"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_float_literal_suffix.label` from `session`"]
    pub const session_label: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("label"));
    #[doc =
    "Constant referring to Fluent message `session_invalid_float_literal_suffix.help` from `session`"]
    pub const session_help: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("help"));
    #[doc =
    "Constant referring to Fluent message `session_invalid_float_literal_width` from `session`"]
    pub const session_invalid_float_literal_width: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_float_literal_width"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_int_literal_width` from `session`"]
    pub const session_invalid_int_literal_width: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_int_literal_width"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_literal_suffix` from `session`"]
    pub const session_invalid_literal_suffix: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_literal_suffix"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_num_literal_base_prefix` from `session`"]
    pub const session_invalid_num_literal_base_prefix:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_num_literal_base_prefix"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_invalid_num_literal_base_prefix.suggestion` from `session`"]
    pub const session_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion"));
    #[doc =
    "Constant referring to Fluent message `session_invalid_num_literal_suffix` from `session`"]
    pub const session_invalid_num_literal_suffix: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_invalid_num_literal_suffix"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_linker_plugin_lto_windows_not_supported` from `session`"]
    pub const session_linker_plugin_lto_windows_not_supported:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_linker_plugin_lto_windows_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_must_be_name_of_associated_function` from `session`"]
    pub const session_must_be_name_of_associated_function:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_must_be_name_of_associated_function"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_not_circumvent_feature` from `session`"]
    pub const session_not_circumvent_feature: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_not_circumvent_feature"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_not_supported` from `session`"]
    pub const session_not_supported: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_octal_float_literal_not_supported` from `session`"]
    pub const session_octal_float_literal_not_supported:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_octal_float_literal_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_profile_sample_use_file_does_not_exist` from `session`"]
    pub const session_profile_sample_use_file_does_not_exist:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_profile_sample_use_file_does_not_exist"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_profile_use_file_does_not_exist` from `session`"]
    pub const session_profile_use_file_does_not_exist:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_profile_use_file_does_not_exist"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_cfi_canonical_jump_tables_requires_cfi` from `session`"]
    pub const session_sanitizer_cfi_canonical_jump_tables_requires_cfi:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_cfi_canonical_jump_tables_requires_cfi"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_cfi_generalize_pointers_requires_cfi` from `session`"]
    pub const session_sanitizer_cfi_generalize_pointers_requires_cfi:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_cfi_generalize_pointers_requires_cfi"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_cfi_normalize_integers_requires_cfi` from `session`"]
    pub const session_sanitizer_cfi_normalize_integers_requires_cfi:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_cfi_normalize_integers_requires_cfi"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_cfi_requires_lto` from `session`"]
    pub const session_sanitizer_cfi_requires_lto: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_cfi_requires_lto"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_cfi_requires_single_codegen_unit` from `session`"]
    pub const session_sanitizer_cfi_requires_single_codegen_unit:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_cfi_requires_single_codegen_unit"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_kcfi_arity_requires_kcfi` from `session`"]
    pub const session_sanitizer_kcfi_arity_requires_kcfi:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_kcfi_arity_requires_kcfi"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_kcfi_requires_panic_abort` from `session`"]
    pub const session_sanitizer_kcfi_requires_panic_abort:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_kcfi_requires_panic_abort"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizer_not_supported` from `session`"]
    pub const session_sanitizer_not_supported: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizer_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_sanitizers_not_supported` from `session`"]
    pub const session_sanitizers_not_supported: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_sanitizers_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_skipping_const_checks` from `session`"]
    pub const session_skipping_const_checks: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_skipping_const_checks"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_soft_float_deprecated` from `session`"]
    pub const session_soft_float_deprecated: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_soft_float_deprecated"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_soft_float_deprecated_issue` from `session`"]
    pub const session_soft_float_deprecated_issue: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_soft_float_deprecated_issue"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_soft_float_ignored` from `session`"]
    pub const session_soft_float_ignored: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_soft_float_ignored"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_split_debuginfo_unstable_platform` from `session`"]
    pub const session_split_debuginfo_unstable_platform:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_split_debuginfo_unstable_platform"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_split_lto_unit_requires_lto` from `session`"]
    pub const session_split_lto_unit_requires_lto: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_split_lto_unit_requires_lto"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_target_requires_unwind_tables` from `session`"]
    pub const session_target_requires_unwind_tables: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_target_requires_unwind_tables"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_target_small_data_threshold_not_supported` from `session`"]
    pub const session_target_small_data_threshold_not_supported:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_target_small_data_threshold_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_target_stack_protector_not_supported` from `session`"]
    pub const session_target_stack_protector_not_supported:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_target_stack_protector_not_supported"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unexpected_builtin_cfg` from `session`"]
    pub const session_unexpected_builtin_cfg: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unexpected_builtin_cfg"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unexpected_builtin_cfg.controlled_by` from `session`"]
    pub const session_controlled_by: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("controlled_by"));
    #[doc =
    "Constant referring to Fluent message `session_unexpected_builtin_cfg.incoherent` from `session`"]
    pub const session_incoherent: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("incoherent"));
    #[doc =
    "Constant referring to Fluent message `session_unleashed_feature_help_named` from `session`"]
    pub const session_unleashed_feature_help_named: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unleashed_feature_help_named"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unleashed_feature_help_unnamed` from `session`"]
    pub const session_unleashed_feature_help_unnamed:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unleashed_feature_help_unnamed"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unstable_virtual_function_elimination` from `session`"]
    pub const session_unstable_virtual_function_elimination:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unstable_virtual_function_elimination"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unsupported_dwarf_version` from `session`"]
    pub const session_unsupported_dwarf_version: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unsupported_dwarf_version"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unsupported_dwarf_version_help` from `session`"]
    pub const session_unsupported_dwarf_version_help:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unsupported_dwarf_version_help"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unsupported_reg_struct_return_arch` from `session`"]
    pub const session_unsupported_reg_struct_return_arch:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unsupported_reg_struct_return_arch"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unsupported_regparm` from `session`"]
    pub const session_unsupported_regparm: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unsupported_regparm"),
            None);
    #[doc =
    "Constant referring to Fluent message `session_unsupported_regparm_arch` from `session`"]
    pub const session_unsupported_regparm_arch: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("session_unsupported_regparm_arch"),
            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" }
36
37/// Requirements for a `StableHashingContext` to be used in this crate.
38/// This is a hack to allow using the `HashStable_Generic` derive macro
39/// instead of implementing everything in `rustc_middle`.
40pub trait HashStableContext: rustc_ast::HashStableContext + rustc_hir::HashStableContext {}