Module salsa_2022::ingredient
source · [−]Traits
“Ingredients” are the bits of data that are stored within the database to make salsa work.
Each jar will define some number of ingredients that it requires.
Each use salsa macro (e.g.,
#[salsa::tracked]
, #[salsa::interned]
) adds one or more
ingredients to the jar struct that together are used to create the salsa concept.
For example, a tracked struct defines a crate::interned::InternedIngredient
to store
its identity plus crate::function::FunctionIngredient
values to store its fields.
The exact ingredients are determined by
IngredientsFor
implementations generated by the
macro.Defines a const indicating if an ingredient needs to be reset each round.
This const probably should be a member of
Ingredient
trait but then Ingredient
would
not be dyn-safe.