ra_salsa

Enum EventKind

Source
pub enum EventKind {
    DidValidateMemoizedValue {
        database_key: DatabaseKeyIndex,
    },
    WillBlockOn {
        other_runtime_id: RuntimeId,
        database_key: DatabaseKeyIndex,
    },
    WillExecute {
        database_key: DatabaseKeyIndex,
    },
    WillCheckCancellation,
}
Expand description

An enum identifying the various kinds of events that can occur.

Variants§

§

DidValidateMemoizedValue

Occurs when we found that all inputs to a memoized value are up-to-date and hence the value can be re-used without executing the closure.

Executes before the “re-used” value is returned.

Fields

§database_key: DatabaseKeyIndex

The database-key for the affected value. Implements Debug.

§

WillBlockOn

Indicates that another thread (with id other_runtime_id) is processing the given query (database_key), so we will block until they finish.

Executes after we have registered with the other thread but before they have answered us.

(NB: you can find the id of the current thread via the salsa_runtime)

Fields

§other_runtime_id: RuntimeId

The id of the runtime we will block on.

§database_key: DatabaseKeyIndex

The database-key for the affected value. Implements Debug.

§

WillExecute

Indicates that the function for this query will be executed. This is either because it has never executed before or because its inputs may be out of date.

Fields

§database_key: DatabaseKeyIndex

The database-key for the affected value. Implements Debug.

§

WillCheckCancellation

Indicates that unwind_if_cancelled was called and salsa will check if the current revision has been cancelled.

Implementations§

Source§

impl EventKind

Source

pub fn debug<'me, D>(&'me self, db: &'me D) -> impl Debug + 'me
where D: ?Sized + DatabaseOps,

Returns a type that gives a user-readable debug output. Use like println!("{:?}", index.debug(db)).

Trait Implementations§

Source§

impl Debug for EventKind

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more