Struct rustc_interface::interface::Config [−][src]
pub struct Config {Show fields
pub opts: Options,
pub crate_cfg: FxHashSet<(String, Option<String>)>,
pub input: Input,
pub input_path: Option<PathBuf>,
pub output_dir: Option<PathBuf>,
pub output_file: Option<PathBuf>,
pub file_loader: Option<Box<dyn FileLoader + Send + Sync>>,
pub diagnostic_output: DiagnosticOutput,
pub stderr: Option<Arc<Mutex<Vec<u8>>>>,
pub lint_caps: FxHashMap<LintId, Level>,
pub parse_sess_created: Option<Box<dyn FnOnce(&mut ParseSess) + Send>>,
pub register_lints: Option<Box<dyn Fn(&Session, &mut LintStore) + Send + Sync>>,
pub override_queries: Option<fn(_: &Session, _: &mut Providers, _: &mut Providers)>,
pub make_codegen_backend: Option<Box<dyn FnOnce(&Options) -> Box<dyn CodegenBackend> + Send>>,
pub registry: Registry,
}Expand description
The compiler configuration
Fields
opts: OptionsExpand description
Command line options
crate_cfg: FxHashSet<(String, Option<String>)>Expand description
cfg! configuration in addition to the default ones
input: Inputinput_path: Option<PathBuf>output_dir: Option<PathBuf>output_file: Option<PathBuf>file_loader: Option<Box<dyn FileLoader + Send + Sync>>diagnostic_output: DiagnosticOutputstderr: Option<Arc<Mutex<Vec<u8>>>>Expand description
Set to capture stderr output during compiler execution
lint_caps: FxHashMap<LintId, Level>parse_sess_created: Option<Box<dyn FnOnce(&mut ParseSess) + Send>>Expand description
This is a callback from the driver that is called when ParseSess is created.
register_lints: Option<Box<dyn Fn(&Session, &mut LintStore) + Send + Sync>>Expand description
This is a callback from the driver that is called when we’re registering lints; it is called during plugin registration when we have the LintStore in a non-shared state.
Note that if you find a Some here you probably want to call that function in the new function being registered.
override_queries: Option<fn(_: &Session, _: &mut Providers, _: &mut Providers)>Expand description
This is a callback from the driver that is called just after we have populated the list of queries.
The second parameter is local providers and the third parameter is external providers.
make_codegen_backend: Option<Box<dyn FnOnce(&Options) -> Box<dyn CodegenBackend> + Send>>Expand description
This is a callback from the driver that is called to create a codegen backend.
registry: RegistryExpand description
Registry of diagnostics codes.