Commit graph

255 commits

Author SHA1 Message Date
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
Niko Matsakis
64556e9d28 make event generation lazy
Creating events if nobody is listening has
always bugged me.
2024-07-28 12:35:33 +00:00
Micha Reiser
b98434a5e2
Bump revision in db.synthetic_write 2024-07-26 15:56:51 +02:00
Niko Matsakis
8a3cc6e404 add a test for handle cancellation
I realized there weren't any!
2024-07-24 10:36:07 +00:00
Niko Matsakis
a5395665ce order cycles by debug_name first
We used to sort just by the ingredient index,
but since those are now added dynamically,
that can be fairly unstable in some of the tests.
We now sort by the "debug name" of the ingredient
first, which is more reliably stable.
2024-07-24 10:10:37 +00:00
Niko Matsakis
470c5b3d78 restore parallel_cycle_one_recover 2024-07-24 09:54:30 +00:00
Niko Matsakis
ac474a9c8d restore parallel_cycle_mid_recover 2024-07-24 09:53:24 +00:00
Niko Matsakis
82d37de105 start restoring parallel tests 2024-07-24 09:46:19 +00:00
Niko Matsakis
3d2b2d3a65 remove RuntimeId and use ThreadId 2024-07-23 11:53:37 -04:00
Niko Matsakis
f5f21cf55e
Merge pull request #508 from MichaReiser/id-manual-debug-impl
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Test / Test (false, beta) (push) Waiting to run
Test / Test (false, stable) (push) Waiting to run
Test / Test (true, nightly) (push) Waiting to run
Test / Miri (push) Waiting to run
Manual `Debug` impl for `salsa::Id`
2024-07-22 19:57:21 +00:00
Niko Matsakis
c8234e4fbf
Merge pull request #524 from PhoebeSzmucer/ps/accumulate-chain
Fix accumulator only accumulating direct children
2024-07-22 19:55:58 +00:00
Phoebe Szmucer
a85ac260d3 Add a more complex case 2024-07-22 20:12:54 +01:00
Micha Reiser
6975a47690
Replace derived Debug implementation of salsa::Id 2024-07-22 17:56:16 +02:00
Niko Matsakis
431fd14b69
Merge pull request #523 from MichaReiser/tracked-fn-interned
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Test / Test (false, beta) (push) Waiting to run
Test / Test (false, stable) (push) Waiting to run
Test / Test (true, nightly) (push) Waiting to run
Test / Miri (push) Waiting to run
Allow interned values as tracked function arguments
2024-07-22 10:54:46 +00:00
Phoebe Szmucer
02008d51a7 Add a test, fix a bug, refactor 2024-07-22 11:52:55 +01:00
Phoebe Szmucer
4543063f5a use a queue 2024-07-22 10:19:36 +01:00
Phoebe Szmucer
a20c6341ec Use Vec 2024-07-21 18:20:26 +01:00
Phoebe Szmucer
148e1cfecf Fix accumulator only accumulating direct children 2024-07-20 19:55:20 +01:00
Micha Reiser
9ba36ebf7e
Allow interned values as tracked function arguments 2024-07-20 09:03:57 +02:00
Micha Reiser
ba169ef039
Respct no_eq attribute for tracked functions 2024-07-20 08:47:51 +02:00
Niko Matsakis
e8b467733f squelch most clippy warnings in generated code 2024-07-19 10:00:03 -04:00
Niko Matsakis
6066e0b536 clippy 2024-07-19 09:54:24 -04:00
Niko Matsakis
1133c72e77 require reset for new revisions 2024-07-19 09:49:08 -04:00
Niko Matsakis
e847929536 pacify the merciless clippy 2024-07-19 09:20:41 -04:00
Niko Matsakis
97b26e6a0c fix 2024-07-19 09:08:51 -04:00
Niko Matsakis
9a432cab31 pacify the merciless cargo fmt 2024-07-19 09:07:47 -04:00
Niko Matsakis
6a3afba141 wip 2024-07-19 08:10:23 -04:00
Niko Matsakis
ad61687e83 wip 2024-07-19 08:09:55 -04:00
Niko Matsakis
68a3a7fceb wip 2024-07-19 08:05:39 -04:00
Niko Matsakis
6377dbadb8 wip 2024-07-19 07:29:18 -04:00
Niko Matsakis
73a6aed554 wip privacy on interned 2024-07-19 07:14:57 -04:00
Niko Matsakis
fe90e68c8f wip privacy for tracked structs 2024-07-19 07:12:07 -04:00
Niko Matsakis
3304acc5dd wip: accum, privacy for inputs 2024-07-19 07:08:24 -04:00
Niko Matsakis
82a1e59e46 update expect tests 2024-07-19 06:24:51 -04:00
Niko Matsakis
b677019407 fix accumulation 2024-07-19 06:22:40 -04:00
Niko Matsakis
5209735d0b ensure the fn value is up-to-date 2024-07-19 06:00:16 -04:00
Niko Matsakis
92eee06596 delete a bunch of dead code 2024-07-19 05:55:40 -04:00
Niko Matsakis
812923ab0c wip 2024-07-18 07:49:06 -04:00
Niko Matsakis
6e22d6ec42 wip 2024-07-18 06:33:21 -04:00
Niko Matsakis
efbf3249ef wip 2024-07-18 06:32:18 -04:00
Niko Matsakis
82872192b4 return_ref on tracked fn 2024-07-18 06:13:57 -04:00
Niko Matsakis
b7e6bc62af make methods work 2024-07-18 06:03:34 -04:00
Niko Matsakis
043922d34f wip 2024-07-17 09:18:43 -04:00
Niko Matsakis
585b720fff wip 2024-07-17 09:14:20 -04:00
Niko Matsakis
b08015e639 wip 2024-07-17 08:56:08 -04:00
Niko Matsakis
e9c0607816 wip 2024-07-17 08:50:04 -04:00
Niko Matsakis
8f8528a205 wip 2024-07-17 08:45:49 -04:00
Niko Matsakis
2213729c4e wip 2024-07-17 08:42:06 -04:00
Niko Matsakis
4e295f2257 wip 2024-07-17 07:49:46 -04:00
Niko Matsakis
c9426d2e4f wip 2024-07-17 06:54:24 -04:00