feature: expose database contents as inherent method on Ingredients #676
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR redesigns the functionality introduced in #640 so that the dump-all-database contents methods are on the Salsa struct ingredient instead of the database's
Storage
. I think this is an improvement for two reasons:DebugQueryTable
trait.&dyn SomeDatabase
. However, it is feasible to access the ingredientExample
Here's an example for interned structs (input and tracked structs have an identical API):
Note that the
entries
method is defined on the{interned, input, tracked}::IngredientImpl
. The more optimal API would be to defineentries
on the Salsa struct itself, alongsideingredient
. However, this is substantially more annoying to feature-flag through macros.Notes
While I don't have a good idea how to access a tracked function's memos, I also don't really know how much it makes sense to do so outside of some migrations.