[−][src]Struct rustc_codegen_ssa::back::write::CodegenContext

pub struct CodegenContext<B: WriteBackendMethods> {
    pub backend: B,
    pub prof: SelfProfilerRef,
    pub lto: Lto,
    pub no_landing_pads: bool,
    pub save_temps: bool,
    pub fewer_names: bool,
    pub exported_symbols: Option<Arc<ExportedSymbols>>,
    pub opts: Arc<Options>,
    pub crate_types: Vec<CrateType>,
    pub each_linked_rlib_for_lto: Vec<(CrateNum, PathBuf)>,
    pub output_filenames: Arc<OutputFilenames>,
    pub regular_module_config: Arc<ModuleConfig>,
    pub metadata_module_config: Arc<ModuleConfig>,
    pub allocator_module_config: Arc<ModuleConfig>,
    pub tm_factory: TargetMachineFactory<B>,
    pub msvc_imps_needed: bool,
    pub is_pe_coff: bool,
    pub target_pointer_width: u32,
    pub target_arch: String,
    pub debuginfo: DebugInfo,
    pub total_cgus: usize,
    pub diag_emitter: SharedEmitter,
    pub remark: Passes,
    pub worker: usize,
    pub incr_comp_session_dir: Option<PathBuf>,
    pub cgu_reuse_tracker: CguReuseTracker,
    pub coordinator_send: Sender<Box<dyn Any + Send>>,
}

Additional resources used by optimize_and_codegen (not module specific)

Fields

backend: Bprof: SelfProfilerReflto: Ltono_landing_pads: boolsave_temps: boolfewer_names: boolexported_symbols: Option<Arc<ExportedSymbols>>opts: Arc<Options>crate_types: Vec<CrateType>each_linked_rlib_for_lto: Vec<(CrateNum, PathBuf)>output_filenames: Arc<OutputFilenames>regular_module_config: Arc<ModuleConfig>metadata_module_config: Arc<ModuleConfig>allocator_module_config: Arc<ModuleConfig>tm_factory: TargetMachineFactory<B>msvc_imps_needed: boolis_pe_coff: booltarget_pointer_width: u32target_arch: Stringdebuginfo: DebugInfototal_cgus: usizediag_emitter: SharedEmitterremark: Passesworker: usizeincr_comp_session_dir: Option<PathBuf>cgu_reuse_tracker: CguReuseTrackercoordinator_send: Sender<Box<dyn Any + Send>>

Implementations

impl<B: WriteBackendMethods> CodegenContext<B>[src]

pub fn create_diag_handler(&self) -> Handler[src]

pub fn config(&self, kind: ModuleKind) -> &ModuleConfig[src]

Trait Implementations

impl<B: Clone + WriteBackendMethods> Clone for CodegenContext<B>[src]

Auto Trait Implementations

impl<B> !RefUnwindSafe for CodegenContext<B>

impl<B> Send for CodegenContext<B> where
    B: Send, 

impl<B> !Sync for CodegenContext<B>

impl<B> Unpin for CodegenContext<B> where
    B: Unpin, 

impl<B> !UnwindSafe for CodegenContext<B>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.