Struct rustc::ty::tls::ImplicitCtxt [−][src]
pub struct ImplicitCtxt<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> { pub tcx: TyCtxt<'a, 'gcx, 'tcx>, pub query: Option<Lrc<QueryJob<'gcx>>>, pub layout_depth: usize, pub task: &'a OpenTask, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
This is the implicit state of rustc. It contains the current TyCtxt and query. It is updated when creating a local interner or executing a new query. Whenever there's a TyCtxt value available you should also have access to an ImplicitCtxt through the functions in this module.
Fields
tcx: TyCtxt<'a, 'gcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The current TyCtxt. Initially created by enter_global
and updated
by enter_local
with a new local interner
query: Option<Lrc<QueryJob<'gcx>>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The current query job, if any. This is updated by start_job in ty::query::plumbing when executing a query
layout_depth: usize
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Used to prevent layout from recursing too deeply.
task: &'a OpenTask
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The current dep graph task. This is used to add dependencies to queries when executing them
Trait Implementations
impl<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> Clone for ImplicitCtxt<'a, 'gcx, 'tcx>
[src]
impl<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> Clone for ImplicitCtxt<'a, 'gcx, 'tcx>
fn clone(&self) -> ImplicitCtxt<'a, 'gcx, 'tcx>
[src]
fn clone(&self) -> ImplicitCtxt<'a, 'gcx, 'tcx>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl<'a, 'gcx, 'tcx> !Send for ImplicitCtxt<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Send for ImplicitCtxt<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Sync for ImplicitCtxt<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Sync for ImplicitCtxt<'a, 'gcx, 'tcx>