salsa/tests
Niko Matsakis daaa78056a switch to new database design
Under this design, *all* databases are a
`DatabaseImpl<U>`, where the `U` implements
`UserData` (you can use `()` if there is none).

Code would default to `&dyn salsa::Database` but
if you want to give access to the userdata, you
can define a custom database trait
`MyDatabase: salsa::Databse` so long as you

* annotate `MyDatabase` trait definition of
  impls of `MyDatabase` with `#[salsa::db]`
* implement `MyDatabase` for `DatabaseImpl<U>`
  where `U` is your userdata (this could be a
  blanket impl, if you don't know the precise
  userdata type).

The `tests/common/mod.rs` shows the pattern.
2024-07-28 12:47:50 +00:00
..
common switch to new database design 2024-07-28 12:47:50 +00:00
compile-fail switch to new database design 2024-07-28 12:47:50 +00:00
parallel switch to new database design 2024-07-28 12:47:50 +00:00
warnings make methods work 2024-07-18 06:03:34 -04:00
accumulate-chain.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-custom-clone.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-custom-debug.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-dag.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-execution-order.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-from-tracked-fn.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-no-duplicates.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-reuse-workaround.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate-reuse.rs switch to new database design 2024-07-28 12:47:50 +00:00
accumulate.rs switch to new database design 2024-07-28 12:47:50 +00:00
compile_fail.rs Rename salsa-2022 to salsa 2024-06-18 09:40:21 +02:00
cycles.rs switch to new database design 2024-07-28 12:47:50 +00:00
debug.rs switch to new database design 2024-07-28 12:47:50 +00:00
deletion-cascade.rs switch to new database design 2024-07-28 12:47:50 +00:00
deletion-drops.rs switch to new database design 2024-07-28 12:47:50 +00:00
deletion.rs switch to new database design 2024-07-28 12:47:50 +00:00
elided-lifetime-in-tracked-fn.rs switch to new database design 2024-07-28 12:47:50 +00:00
expect_reuse_field_x_of_a_tracked_struct_changes_but_fn_depends_on_field_y.rs switch to new database design 2024-07-28 12:47:50 +00:00
expect_reuse_field_x_of_an_input_changes_but_fn_depends_on_field_y.rs switch to new database design 2024-07-28 12:47:50 +00:00
hello_world.rs switch to new database design 2024-07-28 12:47:50 +00:00
interned-struct-with-lifetime.rs switch to new database design 2024-07-28 12:47:50 +00:00
is_send_sync.rs switch to new database design 2024-07-28 12:47:50 +00:00
lru.rs switch to new database design 2024-07-28 12:47:50 +00:00
mutate_in_place.rs switch to new database design 2024-07-28 12:47:50 +00:00
override_new_get_set.rs switch to new database design 2024-07-28 12:47:50 +00:00
panic-when-creating-tracked-struct-outside-of-tracked-fn.rs switch to new database design 2024-07-28 12:47:50 +00:00
preverify-struct-with-leaked-data.rs switch to new database design 2024-07-28 12:47:50 +00:00
singleton.rs switch to new database design 2024-07-28 12:47:50 +00:00
specify-only-works-if-the-key-is-created-in-the-current-query.rs switch to new database design 2024-07-28 12:47:50 +00:00
synthetic_write.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked-struct-id-field-bad-eq.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked-struct-id-field-bad-hash.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked-struct-unchanged-in-new-rev.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked-struct-value-field-bad-eq.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked-struct-value-field-not-eq.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_constant.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_no_eq.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_on_input.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_on_interned.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_on_tracked.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_on_tracked_specify.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_read_own_entity.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_read_own_specify.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_fn_return_ref.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_method.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_method_inherent_return_ref.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_method_on_tracked_struct.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_method_trait_return_ref.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_struct_db1_lt.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_with_intern.rs switch to new database design 2024-07-28 12:47:50 +00:00
tracked_with_struct_db.rs switch to new database design 2024-07-28 12:47:50 +00:00