Niko Matsakis
dcb0eb242e
refactor extend_memo_lifetime
to return memo
...
This is a step towards refactoring `fetch`
to return the memo itself and not the value.
2024-09-21 06:29:01 -04:00
Niko Matsakis
2528045540
remove read of "entity table"
...
We used to have the concept of "resetting"
a tracked struct, which removed all instances.
We don't have that concept anymore.
Therefore we don't need to record a read on the
tracked struct table itself.
2024-09-16 06:17:19 -04:00
Niko Matsakis
d7df2cd4bb
change disambiguator_map to FxHashMap
...
There is no need for IndexMap here,
we don't iterate or care about indices.
2024-09-16 06:16:23 -04:00
Niko Matsakis
34a8edb461
allocate values in a closure
...
This will allow us to store the id
in the struct itself.
2024-09-16 06:00:33 -04:00
Carl Meyer
2af849b9a9
Merge pull request #569 from carljm/durability-test
...
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
add test for high-durability dependency validation
2024-08-29 18:05:05 +00:00
David Barsky
9542a461b9
Merge pull request #571 from salsa-rs/davidbarsky/push-wpynvwnqotst
...
chore: fix clippy lints
2024-08-29 17:54:14 +00:00
David Barsky
df78f298ee
chore: fix clippy lints
2024-08-29 13:50:01 -04:00
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
...
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
...
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
...
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"
...
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
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
...
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