rustc_interface/
lib.rs

1// tidy-alphabetical-start
2#![feature(decl_macro)]
3#![feature(file_buffered)]
4#![feature(iter_intersperse)]
5#![feature(try_blocks)]
6// tidy-alphabetical-end
7
8mod callbacks;
9pub mod errors;
10pub mod interface;
11mod limits;
12pub mod passes;
13mod proc_macro_decls;
14mod queries;
15pub mod util;
16
17pub use callbacks::setup_callbacks;
18pub use interface::{Config, run_compiler};
19pub use passes::{DEFAULT_QUERY_PROVIDERS, create_and_enter_global_ctxt, parse};
20pub use queries::Linker;
21
22#[cfg(test)]
23mod tests;
24
25#[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 `interface_abi_required_feature` from `interface`"]
    pub const interface_abi_required_feature: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_abi_required_feature"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_abi_required_feature.note` from `interface`"]
    pub const interface_note: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("note"));
    #[doc =
    "Constant referring to Fluent message `interface_abi_required_feature_issue` from `interface`"]
    pub const interface_abi_required_feature_issue: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_abi_required_feature_issue"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_crate_name_does_not_match` from `interface`"]
    pub const interface_crate_name_does_not_match: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_crate_name_does_not_match"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_crate_name_invalid` from `interface`"]
    pub const interface_crate_name_invalid: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_crate_name_invalid"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_emoji_identifier` from `interface`"]
    pub const interface_emoji_identifier: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_emoji_identifier"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_error_writing_dependencies` from `interface`"]
    pub const interface_error_writing_dependencies: rustc_errors::DiagMessage
        =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_error_writing_dependencies"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_failed_writing_file` from `interface`"]
    pub const interface_failed_writing_file: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_failed_writing_file"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_ferris_identifier` from `interface`"]
    pub const interface_ferris_identifier: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_ferris_identifier"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_ferris_identifier.suggestion` from `interface`"]
    pub const interface_suggestion: rustc_errors::SubdiagMessage =
        rustc_errors::SubdiagMessage::FluentAttr(std::borrow::Cow::Borrowed("suggestion"));
    #[doc =
    "Constant referring to Fluent message `interface_generated_file_conflicts_with_directory` from `interface`"]
    pub const interface_generated_file_conflicts_with_directory:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_generated_file_conflicts_with_directory"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_ignoring_extra_filename` from `interface`"]
    pub const interface_ignoring_extra_filename: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_ignoring_extra_filename"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_ignoring_out_dir` from `interface`"]
    pub const interface_ignoring_out_dir: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_ignoring_out_dir"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_input_file_would_be_overwritten` from `interface`"]
    pub const interface_input_file_would_be_overwritten:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_input_file_would_be_overwritten"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_invalid_crate_type_value` from `interface`"]
    pub const interface_invalid_crate_type_value: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_invalid_crate_type_value"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_mixed_bin_crate` from `interface`"]
    pub const interface_mixed_bin_crate: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_mixed_bin_crate"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_mixed_proc_macro_crate` from `interface`"]
    pub const interface_mixed_proc_macro_crate: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_mixed_proc_macro_crate"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_multiple_output_types_adaption` from `interface`"]
    pub const interface_multiple_output_types_adaption:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_multiple_output_types_adaption"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_multiple_output_types_to_stdout` from `interface`"]
    pub const interface_multiple_output_types_to_stdout:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_multiple_output_types_to_stdout"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_out_dir_error` from `interface`"]
    pub const interface_out_dir_error: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_out_dir_error"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_proc_macro_crate_panic_abort` from `interface`"]
    pub const interface_proc_macro_crate_panic_abort:
        rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_proc_macro_crate_panic_abort"),
            None);
    #[doc =
    "Constant referring to Fluent message `interface_temps_dir_error` from `interface`"]
    pub const interface_temps_dir_error: rustc_errors::DiagMessage =
        rustc_errors::DiagMessage::FluentIdentifier(std::borrow::Cow::Borrowed("interface_temps_dir_error"),
            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" }