Struct rustc::ty::query::QueryJob [−][src]
pub struct QueryJob<'tcx> { pub info: QueryInfo<'tcx>, pub parent: Option<Lrc<QueryJob<'tcx>>>, pub diagnostics: Lock<Vec<Diagnostic>>, }
🔬 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?
A object representing an active query job.
Fields
info: QueryInfo<'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?
parent: Option<Lrc<QueryJob<'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 parent query job which created this job and is implicitly waiting on it.
diagnostics: Lock<Vec<Diagnostic>>
🔬 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?
Diagnostic messages which are emitted while the query executes
Methods
impl<'tcx> QueryJob<'tcx>
[src]
impl<'tcx> QueryJob<'tcx>
pub fn new(info: QueryInfo<'tcx>, parent: Option<Lrc<QueryJob<'tcx>>>) -> Self
[src]
pub fn new(info: QueryInfo<'tcx>, parent: Option<Lrc<QueryJob<'tcx>>>) -> Self
🔬 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?
Creates a new query job
pub(super) fn await<'lcx>(
&self,
tcx: TyCtxt<'_, 'tcx, 'lcx>,
span: Span
) -> Result<(), CycleError<'tcx>>
[src]
pub(super) fn await<'lcx>(
&self,
tcx: TyCtxt<'_, 'tcx, 'lcx>,
span: Span
) -> Result<(), CycleError<'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?
Awaits for the query job to complete.
For single threaded rustc there's no concurrent jobs running, so if we are waiting for any query that means that there is a query cycle, thus this always running a cycle error.
fn find_cycle_in_stack<'lcx>(
&self,
tcx: TyCtxt<'_, 'tcx, 'lcx>,
span: Span
) -> Result<(), CycleError<'tcx>>
[src]
fn find_cycle_in_stack<'lcx>(
&self,
tcx: TyCtxt<'_, 'tcx, 'lcx>,
span: Span
) -> Result<(), CycleError<'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?
pub fn signal_complete(&self)
[src]
pub fn signal_complete(&self)
🔬 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?
Signals to waiters that the query is complete.
This does nothing for single threaded rustc, as there are no concurrent jobs which could be waiting on us
fn as_ptr(&self) -> *const QueryJob<'tcx>
[src]
fn as_ptr(&self) -> *const QueryJob<'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?