enum ActiveKeyStatus<'tcx> {
Started(QueryJob<'tcx>),
Poisoned,
}Expand description
For a particular query and key, tracks the status of a query evaluation that has started, but has not yet finished successfully.
(Successful query evaluation for a key is represented by an entry in the query’s in-memory cache.)
Variants§
Started(QueryJob<'tcx>)
Some thread is already evaluating the query for this key.
The enclosed QueryJob can be used to wait for it to finish.
Poisoned
The query panicked. Queries trying to wait on this will raise a fatal error which will silently panic.
Implementations§
Source§impl<'tcx> ActiveKeyStatus<'tcx>
impl<'tcx> ActiveKeyStatus<'tcx>
Sourcefn expect_job(self) -> QueryJob<'tcx>
fn expect_job(self) -> QueryJob<'tcx>
Obtains the enclosed QueryJob, or panics if this query evaluation
was poisoned by a panic.
Auto Trait Implementations§
impl<'tcx> DynSend for ActiveKeyStatus<'tcx>
impl<'tcx> DynSync for ActiveKeyStatus<'tcx>
impl<'tcx> Freeze for ActiveKeyStatus<'tcx>
impl<'tcx> !RefUnwindSafe for ActiveKeyStatus<'tcx>
impl<'tcx> !Send for ActiveKeyStatus<'tcx>
impl<'tcx> !Sync for ActiveKeyStatus<'tcx>
impl<'tcx> Unpin for ActiveKeyStatus<'tcx>
impl<'tcx> !UnwindSafe for ActiveKeyStatus<'tcx>
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
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>
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>
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: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
Started: 32 bytesPoisoned: 0 bytes