rustc_driver - Rust (original) (raw)

args

pretty

The various pretty-printing routines.

version

Prints version information

TimePassesCallbacks

Compilation

Whether to stop or continue compilation.

DEFAULT_BUG_REPORT_URL

EXIT_FAILURE

Exit status code used for compilation failures and invalid flags.

EXIT_SUCCESS

Exit status code used for successful compilation and help output.

DEFAULT_LOCALE_RESOURCE

Raw content of Fluent resource for this crate, generated by fluent_messages macro, imported by rustc_driver to include all crates’ resources in one bundle.

DEFAULT_LOCALE_RESOURCES

USING_INTERNAL_FEATURES

Callbacks

catch_fatal_errors

Runs a closure and catches unwinds triggered by fatal errors.

catch_with_exit_code

Variant of catch_fatal_errors for the interface::Result return type that also computes the exit code.

describe_flag_categories

Show help for flag categories shared between rustdoc and rustc.

describe_lints

Write to stdout lint command options, together with a list of all available lints

diagnostics_registry

handle_options

Process command line options. Emits messages as appropriate. If compilation should continue, returns a getopts::Matches object parsed from args, otherwise returns None.

init_logger

This allows tools to enable rust logging without having to magically match rustc’s tracing crate version. In contrast to init_rustc_env_logger it allows you to choose the logger config directly rather than having to set an environment variable.

init_logger_with_additional_layer

This allows tools to enable rust logging without having to magically match rustc’s tracing crate version. In contrast to init_rustc_env_logger, it allows you to choose the logger config directly rather than having to set an environment variable. Moreover, in contrast to init_logger, it allows you to add a custom tracing layer via build_subscriber, for example || Registry::default().with(custom_layer).

init_rustc_env_logger

This allows tools to enable rust logging without having to magically match rustc’s tracing crate version.

install_ctrlc_handler

Install our usual ctrlc handler, which sets rustc_const_eval::CTRL_C_RECEIVED. Making this handler optional lets tools can install a different handler, if they wish.

install_ice_hook

Installs a panic hook that will print the ICE message on unexpected panics.

main

run_compiler

This is the primary entry point for rustc.