[][src]Struct rustc_interface::interface::Config

pub struct Config {
    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 crate_name: Option<String>,
    pub lint_caps: FxHashMap<LintId, Level>,
    pub register_lints: Option<Box<dyn Fn(&Session, &mut LintStore) + Send + Sync>>,
    pub override_queries: Option<fn(_: &Session, _: &mut Providers, _: &mut Providers)>,
    pub registry: Registry,

The compiler configuration


opts: Options

Command line options

crate_cfg: FxHashSet<(String, Option<String>)>

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>>>>

Set to capture stderr output during compiler execution

crate_name: Option<String>lint_caps: FxHashMap<LintId, Level>register_lints: Option<Box<dyn Fn(&Session, &mut LintStore) + Send + Sync>>

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)>

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.

registry: Registry

Registry of diagnostics codes.

Auto Trait Implementations

impl !RefUnwindSafe for Config

impl Send for Config

impl !Sync for Config

impl Unpin for Config

impl !UnwindSafe for Config

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.