Commit graph

1707 commits

Author SHA1 Message Date
Carl Meyer
403ab25c33
add test for high-durability dependency validation 2024-08-28 13:33:40 -07:00
Niko Matsakis
884a30cf9d
Merge pull request #567 from MichaReiser/reduce-set-cloning
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Reduce cloning of sets in `ActiveQuery` and `QueryRevisions`
2024-08-28 09:37:11 +00:00
Micha Reiser
74a4de43dc
Keep using an Arc<Slice> 2024-08-22 09:30:07 +02:00
Micha Reiser
8175c77cc5
Reduce cloning of sets in ActiveQuery and QueryRevisions 2024-08-22 09:23:21 +02:00
Niko Matsakis
f608ff8b24
Merge pull request #566 from MichaReiser/const-query
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Fix const queries with custom `Db` trait
2024-08-20 20:32:27 +00:00
Micha Reiser
3f93415313
Fix const query with custom database trait 2024-08-20 21:49:30 +02:00
Micha Reiser
4609fd0043
Add failing test 2024-08-20 21:34:38 +02:00
Niko Matsakis
d5018d5614
Merge pull request #564 from nikomatsakis/tables
Tables
2024-08-20 14:26:48 +00:00
Niko Matsakis
02036ff446 pacify the merciless cargo fmt 2024-08-20 10:09:49 -04:00
Niko Matsakis
8ad967ea1e fix the remaining clippy items 2024-08-20 10:09:49 -04:00
Niko Matsakis
8b8dd53197 apply cargo clippy --fix 2024-08-20 10:09:49 -04:00
Niko Matsakis
3e5559408a pacify the merciless cargo fmt 2024-08-20 10:09:49 -04:00
Niko Matsakis
d7af1a85fb simplify Id traits, make new crate-private
`Id` values are used in a very tailored way now, no reason
to let people construct arbitrary ones.
2024-08-20 10:09:49 -04:00
Niko Matsakis
6401563755 store memoized fn results attached to the salsa struct 2024-08-20 10:09:49 -04:00
Niko Matsakis
8b058be74f introduce Memo trait 2024-08-20 10:09:49 -04:00
Niko Matsakis
3dabb0ddc8 make memos take read-lock (and infallible return)
We want to ensure that accessing the memos only occurs
in revision R after the struct is created.
2024-08-20 10:09:49 -04:00
Niko Matsakis
8833a7168b remove "constant" functions
The goal here is that ALL `Id` values come from a `Table`
2024-08-20 10:09:49 -04:00
Niko Matsakis
31257ba758 store ingredient index for each memo ingredient 2024-08-20 10:09:49 -04:00
Niko Matsakis
c251001da6 remove the _mut accesors from Table (unused) 2024-08-20 10:09:49 -04:00
Niko Matsakis
f12874fe62 store fn to create Arc<dyn Any> instead of drop
This will allow us to invoke callbacks when deleting
a memo with `Arc<dyn Any>` values.
2024-08-20 10:09:49 -04:00
Niko Matsakis
d8ae590428 extend justfile testing 2024-08-20 10:09:49 -04:00
Niko Matsakis
703f312eae port input to use Table 2024-08-20 10:09:49 -04:00
Niko Matsakis
2f8e78f431 add unused db argument to event method 2024-08-20 10:09:49 -04:00
Niko Matsakis
403755548b give each function ingredient a memo ingredient index 2024-08-20 10:09:49 -04:00
Niko Matsakis
9d93fdbdc2 allow fetching memo table from a given id 2024-08-20 10:09:49 -04:00
Niko Matsakis
b5540f1122 add memo_table method to Slot trait
This returns the memos attached to a given slot.
Not all slots have affiliated memos, so return an `Option`.
2024-08-20 10:09:49 -04:00
Niko Matsakis
db8d64faa6 introduce Slot trait 2024-08-20 10:09:49 -04:00
Niko Matsakis
33a99da476 introduce memo table (first draft) 2024-08-20 10:09:49 -04:00
Niko Matsakis
c16c60c70a introduce MemoIngredientIndex 2024-08-20 10:09:49 -04:00
Niko Matsakis
94d58e6e11 introduce a trait for downcasting 2024-08-20 10:09:49 -04:00
Niko Matsakis
1fbca6d756 create shared utility fn transmute_data_ptr 2024-08-20 10:09:49 -04:00
Niko Matsakis
188f759555 use table for tracked structs and their fields
This also retools a tiny bit how deletion works.
We will reuse ids faster than before, actually.
2024-08-20 10:09:49 -04:00
Niko Matsakis
01d4ef86b2 introduce Table and use for interned values 2024-08-20 10:09:49 -04:00
Niko Matsakis
a27befeeba run tests with UPDATE_EXPECT=1 2024-08-20 10:09:49 -04:00
Niko Matsakis
5cb519852b hex Id printouts 2024-08-20 10:09:49 -04:00
David Barsky
08820ea674
Merge pull request #525 from davidbarsky/master
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
internal: add some initial input benchmarks
2024-08-13 14:44:50 +00:00
David Barsky
0557605cb8 internal: add some initial input benchmarks 2024-08-13 10:38:38 -04:00
Niko Matsakis
4657ac3a0d Revert "introduce Table and use for interned values"
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
This reverts commit 9a3111ce27.
2024-08-11 08:04:47 +03:00
Niko Matsakis
9a3111ce27 introduce Table and use for interned values
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2024-08-08 18:25:06 +03:00
Niko Matsakis
0c1d8b6dbd
Merge pull request #559 from MichaReiser/setter-preserve-durability
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Preserve durability when setting a new input-value
2024-08-08 11:38:02 +00:00
Niko Matsakis
04a1e32a5a
Merge pull request #560 from MichaReiser/reduce-tracing-verbosity
Reduce tracing output of memo
2024-08-08 11:37:37 +00:00
Micha Reiser
e994e7fae0
Reduce tracing output of memo 2024-08-08 09:23:14 +02:00
Micha Reiser
c4fee35157
Preserve durability when setting a new input-value 2024-08-07 09:08:03 +02:00
Niko Matsakis
05c7fbea45
Merge pull request #528 from carljm/fix-book-cycle-fallback
Some checks failed
Book / Book (push) Has been cancelled
Test / Test (false, beta) (push) Has been cancelled
Test / Test (false, stable) (push) Has been cancelled
Test / Test (true, nightly) (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
[book] fix the cycle fallback section to match current code
2024-08-07 06:06:33 +00:00
Niko Matsakis
b098f922bd
Merge pull request #555 from MichaReiser/append-only-vec
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
Test / Benchmarks (push) Waiting to run
Replace `orx-concurrent-vec` with `append-only-vec`
2024-08-06 16:34:28 +00:00
Micha Reiser
4c8e52a89e
Merge pull request #543 from MichaReiser/input-builder
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
Test / Benchmarks (push) Waiting to run
Introduce `Input::builder` API
2024-08-06 07:06:12 +00:00
Micha Reiser
547663f7a5
Fix clippy warnings 2024-08-06 08:56:06 +02:00
Micha Reiser
fbc7b8c544
Move Builder::new impl out of Configuration::builder method 2024-08-06 08:53:03 +02:00
Micha Reiser
0848b78d90
Add #[must_use] attribute 2024-08-06 08:47:59 +02:00
Micha Reiser
17a2f6b2ca
Add support for [#default] and setting field-level durability 2024-08-06 08:47:57 +02:00