Niko Matsakis
8a39bf029b
wip
2024-07-16 06:04:01 -04:00
Niko Matsakis
612cec6703
wip
2024-07-15 20:29:36 -04:00
Niko Matsakis
4769e32d44
wip
2024-07-15 07:51:40 -04:00
Niko Matsakis
fdc363b65f
wip
2024-07-15 07:46:23 -04:00
Niko Matsakis
57eb0c45b4
wip: iterate towards hello_world
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
Book / Deploy (push) Has been cancelled
2024-07-14 13:49:59 -04:00
Niko Matsakis
231dc4f713
wip: inputs
2024-07-14 13:36:30 -04:00
Niko Matsakis
4c998c78e4
wip
2024-07-13 11:41:19 -04:00
Niko Matsakis
91cd757a90
macro for tracked struct
2024-07-13 07:56:14 -04:00
Niko Matsakis
a4e550065f
autogenerate interned case
2024-07-13 07:01:31 -04:00
Niko Matsakis
dde7341f97
create macro-rules macros to encapsulate output
...
This is a new idea for how to manage procedural
macros, which I kind of hate.
2024-07-13 05:45:22 -04:00
Niko Matsakis
15106ff8ea
reorganize plumbing
2024-07-12 07:11:31 -04:00
Niko Matsakis
65118a0fe6
Send + Sync requirements
2024-07-12 05:59:47 -04:00
Niko Matsakis
a1651c89d9
WIP
2024-07-11 21:35:37 -04:00
Niko Matsakis
2cfb75837b
WIP
2024-07-11 07:30:26 -04:00
Niko Matsakis
15d5f213c5
WIP
2024-07-11 06:22:02 -04:00
Niko Matsakis
380b19cc39
remove debug_name from function ingredients
2024-07-06 08:42:15 -04:00
Niko Matsakis
aaf8f0bf4f
remove debug_name field from interned
2024-07-06 08:40:09 -04:00
Niko Matsakis
204f4eea6f
move struct debug name to Configuration
2024-07-06 08:34:59 -04:00
Niko Matsakis
e1920bdda6
require databases and ingredients to be static
2024-07-06 08:15:27 -04:00
Matthijs Brobbel
38070130a8
Remove some unused dependencies
2024-06-19 11:55:18 +02:00
Matthijs Brobbel
b3838b1ca7
Update book
2024-06-18 09:59:17 +02:00
Matthijs Brobbel
c7851112a5
Rename salsa-2022
to salsa
2024-06-18 09:40:21 +02:00
Matthijs Brobbel
db75ae00a2
Remove old salsa
2024-06-18 09:25:26 +02:00
Noah Lev
19b40c377f
Add missing syn
feature requirement
...
With the latest commit (283ccda
), any project that uses Salsa hits tons
of internal errors within Salsa. That's because Salsa needs syn's `full`
feature, which was removed from the Cargo.toml as part of the Salsa 3.0
mega-PR. Because Salsa 1.0 still has the `full` feature in its
Cargo.toml, Cargo implicitly still enables `full` for Salsa 2022, and
thus the Salsa 2022 example projects compile fine -- even though any
external code using Salsa does not.
2024-06-17 13:36:37 -07:00
Niko Matsakis
1544ee97ce
Apply suggestions from code review
...
Co-authored-by: Micha Reiser <micha@reiser.io>
Co-authored-by: Ryan Cumming <etaoins@gmail.com>
Co-authored-by: David Barsky <me@davidbarsky.com>
2024-06-15 06:09:10 -04:00
Niko Matsakis
bcad24c7f1
add a safety comment on Update
...
This was not obvious to me initially.
2024-06-13 08:05:00 -04:00
Niko Matsakis
c02f30a4d6
remove dead code from interned structs
2024-06-11 05:24:47 -04:00
Niko Matsakis
f91eeb931d
remove dead code
...
tracked structs only support `'db` lifetimes
2024-06-11 05:20:04 -04:00
Niko Matsakis
53266837af
remove "setter" function altogether
...
This...seems dated. We have `specify` which is
a more correct and principled version. Not sure
what `set` was meant to be but I don't see any
tests for it so...kill it.
2024-05-30 09:46:20 -04:00
Niko Matsakis
ce750dadf5
allow elided lifetimes in tracked fn return values
2024-05-30 09:40:47 -04:00
Niko Matsakis
b9ab8fcebd
rustfmt has opinions
2024-05-30 08:46:15 -04:00
Niko Matsakis
0ad0be8095
pacify the merciless clippy
2024-05-30 08:40:18 -04:00
Niko Matsakis
88b964d18d
use const _: ()
to disable clippy lints
2024-05-30 08:40:18 -04:00
Niko Matsakis
07d0ead9f4
return a NonNull instead of a &'db
...
In old code, we converted to a `&'db` when
creating a new tracked struct or interning,
but this value in fact persisted beyond the end
of `'db` (i.e., into the new revision).
We now refactor so that we create the `Foo<'db>`
from a `NonNull<T>` instead of a `&'db T`, and
then only create safe references when users
access fields.
This makes miri happy.
2024-05-30 01:59:49 -04:00
Niko Matsakis
81942f37e5
use Alloc not Box
...
to avoid uniqueness guarantees
2024-05-27 07:39:46 -04:00
Niko Matsakis
ce88a8f9ca
apply cargo fmt
2024-05-25 16:25:06 -04:00
Niko Matsakis
68502ab27f
'db all the things
2024-05-24 07:16:50 -04:00
Niko Matsakis
1560634f96
support methods with 'db lifetimes
2024-05-24 07:16:50 -04:00
Niko Matsakis
b005820494
add a derive for DebugWithDb
2024-05-24 07:16:50 -04:00
Niko Matsakis
4f4d01958f
generate a custom std::fmt::Debug
impl
...
This leads less representation information
and in particular avoids serializing pointers.
2024-05-24 07:16:50 -04:00
Niko Matsakis
d98485d3cb
add a derive for salsa::Update
...
And a test for it. This is required if you
want to have structures in your tracked structs.
Looks we need one for salsa::DebugWithDb, too.
2024-05-24 07:16:50 -04:00
Niko Matsakis
2800076857
update to syn 2.0
2024-05-24 07:16:50 -04:00
Niko Matsakis
06b70975e9
impl Update/Send/Sync
...
and add dedicated tests for that
2024-05-24 07:16:50 -04:00
Niko Matsakis
b4b49fbd1b
split the Id conversion traits
...
We now have AsId (always present)
and FromId/LookupId (sometimes present).
AsId is no longer part of the
salsa public interface.
Replace the ad-hoc `salsa_id` etc methods with
calls to `AsId::as_id`.
2024-05-24 07:16:50 -04:00
Niko Matsakis
7519c3e2a6
extend IdentityInterner to be based on LookupId
2024-05-24 07:16:50 -04:00
Niko Matsakis
ab70786536
introduce LookupId trait
...
We are going to need it for tracked functions.
2024-05-24 07:16:50 -04:00
Niko Matsakis
cf2fa671f5
introduce IdLookup trait
...
We are going to need it for tracked functions.
2024-05-24 07:16:50 -04:00
Niko Matsakis
8d0f8fccbf
remove unnecessary uses of AsId
2024-05-24 07:16:50 -04:00
Niko Matsakis
d361e8adfb
add a 'db
argument to SalsaStruct
2024-05-24 07:16:50 -04:00
Niko Matsakis
9607638d5d
permit interned structs with lifetimes
2024-05-24 07:16:50 -04:00