Struct rustc::ty::maps::plumbing::JobOwner[][src]

struct JobOwner<'a, 'tcx: 'a, Q: QueryDescription<'tcx> + 'a> {
    map: &'a Lock<QueryMap<'tcx, Q>>,
    key: Q::Key,
    job: 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?

A type representing the responsibility to execute the job in the job field. This will poison the relevant query if dropped.

Fields

🔬 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 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 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?

Methods

impl<'a, 'tcx, Q: QueryDescription<'tcx>> JobOwner<'a, 'tcx, Q>
[src]

🔬 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?

Either gets a JobOwner corresponding the the query, allowing us to start executing the query, or it returns with the result of the query. If the query is executing elsewhere, this will wait for it. If the query panicked, this will silently panic.

🔬 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?

Completes the query by updating the query map with the result, signals the waiter and forgets the JobOwner, so it won't poison the query

🔬 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?

Executes a job by changing the ImplicitCtxt to point to the new query job while it executes. It returns the diagnostics captured during execution and the actual result.

Trait Implementations

impl<'a, 'tcx, Q: QueryDescription<'tcx>> Drop for JobOwner<'a, 'tcx, Q>
[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl<'a, 'tcx, Q> !Send for JobOwner<'a, 'tcx, Q>

impl<'a, 'tcx, Q> !Sync for JobOwner<'a, 'tcx, Q>