Trait salsa_2022::storage::HasJarsDyn
source · [−]pub trait HasJarsDyn {
fn runtime(&self) -> &Runtime;
fn runtime_mut(&mut self) -> &mut Runtime;
fn maybe_changed_after(
&self,
input: DependencyIndex,
revision: Revision
) -> bool;
fn cycle_recovery_strategy(
&self,
input: IngredientIndex
) -> CycleRecoveryStrategy;
fn origin(&self, input: DatabaseKeyIndex) -> Option<QueryOrigin>;
fn mark_validated_output(
&self,
executor: DatabaseKeyIndex,
output: DependencyIndex
);
fn remove_stale_output(
&self,
executor: DatabaseKeyIndex,
stale_output: DependencyIndex
);
fn salsa_struct_deleted(&self, ingredient: IngredientIndex, id: Id);
fn fmt_index(&self, index: DependencyIndex, fmt: &mut Formatter<'_>) -> Result;
}
Expand description
Dyn friendly subset of HasJars
Required Methods
fn runtime(&self) -> &Runtime
fn runtime_mut(&mut self) -> &mut Runtime
fn maybe_changed_after(&self, input: DependencyIndex, revision: Revision) -> bool
fn cycle_recovery_strategy(
&self,
input: IngredientIndex
) -> CycleRecoveryStrategy
fn origin(&self, input: DatabaseKeyIndex) -> Option<QueryOrigin>
fn mark_validated_output(
&self,
executor: DatabaseKeyIndex,
output: DependencyIndex
)
sourcefn remove_stale_output(
&self,
executor: DatabaseKeyIndex,
stale_output: DependencyIndex
)
fn remove_stale_output(
&self,
executor: DatabaseKeyIndex,
stale_output: DependencyIndex
)
Invoked when executor
used to output stale_output
but no longer does.
This method routes that into a call to the remove_stale_output
method on the ingredient for stale_output
.
sourcefn salsa_struct_deleted(&self, ingredient: IngredientIndex, id: Id)
fn salsa_struct_deleted(&self, ingredient: IngredientIndex, id: Id)
Informs ingredient
that the salsa struct with id id
has been deleted.
This means that id
will not be used in this revision and hence
any memoized values keyed by that struct can be discarded.
In order to receive this callback, ingredient
must have registered itself
as a dependent function using
SalsaStructInDb::register_dependent_fn
.