struct JobOwner<'tcx, K, I>{
    state: &'tcx QueryState<K, I>,
    key: K,
}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, I>§key: KImplementations§
Source§impl<'tcx, K, I> JobOwner<'tcx, K, I>
 
impl<'tcx, K, I> JobOwner<'tcx, K, I>
Sourcefn complete<C>(
    self,
    cache: &C,
    key_hash: u64,
    result: C::Value,
    dep_node_index: DepNodeIndex,
)where
    C: QueryCache<Key = K>,
 
fn complete<C>(
    self,
    cache: &C,
    key_hash: u64,
    result: C::Value,
    dep_node_index: DepNodeIndex,
)where
    C: QueryCache<Key = K>,
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§
Auto Trait Implementations§
impl<'tcx, K, I> DynSend for JobOwner<'tcx, K, I>
impl<'tcx, K, I> DynSync for JobOwner<'tcx, K, I>
impl<'tcx, K, I> Freeze for JobOwner<'tcx, K, I>where
    K: Freeze,
impl<'tcx, K, I> !RefUnwindSafe for JobOwner<'tcx, K, I>
impl<'tcx, K, I> !Send for JobOwner<'tcx, K, I>
impl<'tcx, K, I> !Sync for JobOwner<'tcx, K, I>
impl<'tcx, K, I> Unpin for JobOwner<'tcx, K, I>where
    K: Unpin,
impl<'tcx, K, I> !UnwindSafe for JobOwner<'tcx, K, I>
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
Mutably borrows from an owned value. Read more
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>
Converts 
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>
Converts 
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<Tcx, T> Value<Tcx> for Twhere
    Tcx: DepContext,
 
impl<Tcx, T> Value<Tcx> for Twhere
    Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> 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>
impl<T> ErasedDestructor for Twhere
    T: 'static,
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.