pub struct CodegenContext {Show 27 fields
pub lto: Lto,
pub use_linker_plugin_lto: bool,
pub dylib_lto: bool,
pub prefer_dynamic: bool,
pub save_temps: bool,
pub fewer_names: bool,
pub time_trace: bool,
pub crate_types: Vec<CrateType>,
pub output_filenames: Arc<OutputFilenames>,
pub invocation_temp: Option<String>,
pub module_config: Arc<ModuleConfig>,
pub opt_level: OptLevel,
pub backend_features: Vec<String>,
pub msvc_imps_needed: bool,
pub is_pe_coff: bool,
pub target_can_use_split_dwarf: bool,
pub target_arch: String,
pub target_is_like_darwin: bool,
pub target_is_like_aix: bool,
pub target_is_like_gpu: bool,
pub split_debuginfo: SplitDebuginfo,
pub split_dwarf_kind: SplitDwarfKind,
pub pointer_size: Size,
pub remark: Passes,
pub remark_dir: Option<PathBuf>,
pub incr_comp_session_dir: Option<PathBuf>,
pub parallel: bool,
}Expand description
Additional resources used by optimize_and_codegen (not module specific)
Fields§
§lto: Lto§use_linker_plugin_lto: bool§dylib_lto: bool§prefer_dynamic: bool§save_temps: bool§fewer_names: bool§time_trace: bool§crate_types: Vec<CrateType>§output_filenames: Arc<OutputFilenames>§invocation_temp: Option<String>§module_config: Arc<ModuleConfig>§opt_level: OptLevel§backend_features: Vec<String>§msvc_imps_needed: bool§is_pe_coff: bool§target_can_use_split_dwarf: bool§target_arch: String§target_is_like_darwin: bool§target_is_like_aix: bool§target_is_like_gpu: bool§split_debuginfo: SplitDebuginfo§split_dwarf_kind: SplitDwarfKind§pointer_size: Size§remark: PassesLLVM optimizations for which we want to print remarks.
remark_dir: Option<PathBuf>Directory into which should the LLVM optimization remarks be written.
If None, they will be written to stderr.
incr_comp_session_dir: Option<PathBuf>The incremental compilation session directory, or None if we are not compiling incrementally
parallel: booltrue if the codegen should be run in parallel.
Depends on ExtraBackendMethods::supports_parallel() and -Zno_parallel_backend.
Trait Implementations§
Source§impl Clone for CodegenContext
impl Clone for CodegenContext
Source§fn clone(&self) -> CodegenContext
fn clone(&self) -> CodegenContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<__D: SpanDecoder> Decodable<__D> for CodegenContext
impl<__D: SpanDecoder> Decodable<__D> for CodegenContext
Source§impl<__E: SpanEncoder> Encodable<__E> for CodegenContext
impl<__E: SpanEncoder> Encodable<__E> for CodegenContext
Auto Trait Implementations§
impl DynSend for CodegenContext
impl DynSync for CodegenContext
impl Freeze for CodegenContext
impl RefUnwindSafe for CodegenContext
impl Send for CodegenContext
impl Sync for CodegenContext
impl Unpin for CodegenContext
impl UnwindSafe for CodegenContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
Source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 216 bytes