pub struct EarlySession {
pub target: Target,
pub host: Target,
pub opts: Options,
pub psess: ParseSess,
}Expand description
Partial session built before the full session. More specifically, EarlySession is used to
init the codegen backend, and then both pieces are used to build the full Session.
Fields§
§target: Target§host: Target§opts: Options§psess: ParseSessImplementations§
Source§impl EarlySession
impl EarlySession
pub fn dcx(&self) -> DiagCtxtHandle<'_>
pub fn source_map(&self) -> &SourceMap
Sourcepub fn early_lto(&self) -> LtoCli
pub fn early_lto(&self) -> LtoCli
Note: this is simpler than Session::lto, hence the early_ prefix (to more clearly
distinguish it).
pub fn print_llvm_stats(&self) -> bool
pub fn print_llvm_stats_json(&self) -> Option<&String>
pub fn relocation_model(&self) -> RelocModel
pub fn code_model(&self) -> Option<CodeModel>
pub fn tls_model(&self) -> TlsModel
Sourcepub fn panic_strategy(&self) -> PanicStrategy
pub fn panic_strategy(&self) -> PanicStrategy
Returns the panic strategy for this compile session. If the user explicitly selected one using ‘-C panic’, use that, otherwise use the panic strategy defined by the target.
Sourcepub fn apple_deployment_target(&self) -> OSVersion
pub fn apple_deployment_target(&self) -> OSVersion
Get the deployment target on Apple platforms based on the standard environment variables,
or fall back to the minimum version supported by rustc.
This should be guarded behind if sess.target.is_like_darwin.
pub fn sanitizers(&self) -> SanitizerSet
Auto Trait Implementations§
impl !Freeze for EarlySession
impl !RefUnwindSafe for EarlySession
impl !Send for EarlySession
impl !Sync for EarlySession
impl !UnwindSafe for EarlySession
impl DynSend for EarlySession
impl DynSync for EarlySession
impl Unpin for EarlySession
impl UnsafeUnpin for EarlySession
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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<T> Pointable for T
impl<T> Pointable for 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> ⓘ
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: 5920 bytes