pub struct IndexCancel(/* private fields */);Expand description
Cooperative cancellation flag shared between a consumer’s driver and the indexing/analysis calls it makes.
Salsa’s own cancellation is query-granular and does not unwind the plain-Rust body-analysis walk, so long-running loops here check this flag at chunk / file boundaries instead. On each new edit the consumer should drop the old flag and create a fresh one for the new work rather than reusing a single flag.
Implementations§
Source§impl IndexCancel
impl IndexCancel
Trait Implementations§
Source§impl Clone for IndexCancel
impl Clone for IndexCancel
Source§fn clone(&self) -> IndexCancel
fn clone(&self) -> IndexCancel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for IndexCancel
impl Default for IndexCancel
Source§fn default() -> IndexCancel
fn default() -> IndexCancel
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for IndexCancel
impl RefUnwindSafe for IndexCancel
impl Send for IndexCancel
impl Sync for IndexCancel
impl Unpin for IndexCancel
impl UnsafeUnpin for IndexCancel
impl UnwindSafe for IndexCancel
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more