struct JobOwner<'tcx, K>where
    K: Eq + Hash + Clone,
{ state: &'tcx QueryState<K>, key: K, id: QueryJobId, }
Expand description

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

Fields

state: &'tcx QueryState<K>key: Kid: QueryJobId

Implementations

Either gets a JobOwner corresponding the query, allowing us to start executing the query, or returns with the result of the query. This function assumes that try_get_cached is already called and returned lookup. If the query is executing elsewhere, this will wait for it and return the result. If the query panicked, this will silently panic.

This function is inlined because that results in a noticeable speed-up for some compile-time benchmarks.

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

Trait Implementations

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Layout

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.