-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
internal: port base-db to new Salsa #18305
internal: port base-db to new Salsa #18305
Conversation
60a9bb1
to
c5d6111
Compare
Hmm, I'm not sure why the license check fails with
Similarly, I don't know why the cross build is failing with:
I can't reproduce that issue locally. |
The license check might be failing due to the git dependency (unsure how the logic there works in that check), the cross one failing is weird |
c5d6111
to
294dd39
Compare
For the license check, that should be fixed by salsa-rs/salsa#601. |
294dd39
to
b963c53
Compare
Is there a summary of the differences between Salsa 2 and Salsa 3, for those of us who don't follow the news? |
Like, new Salsa and salsa-2022 or the new Salsa and the Salsa rust-analyzer uses? |
The Salsa rust-analyzer uses. |
From a programming model standpoint, I wrote this document as a guide/reference. From a "what features are now possible" standpoint, new Salsa makes the following possible, or at the very least, a lot easier:
Not all the functionality above is currently implemented, but I feel comfortable betting that it will be shortly—a bunch of a folks are working on implementing cycle recovery, serialized state, and GC'ing interned values as I write this comment. Anyways, porting ra over is a bit annoying, but... that's the job. |
Also don't forget forking of the database, allowing speculative execution which simplifies completion context analysis (and also makes it more robust/less flaky) |
☔ The latest upstream changes (presumably #17954) made this pull request unmergeable. Please resolve the merge conflicts. |
I'm going to close this PR in favor of work I've been doing on a macro imitating the existing
|
Trying out new Salsa in rust-analyzer by porting over
base-db
. I haven't fully ported it over, but given its interactions with the VFS/external files (and the plan outlined on Zulip)), I figured I'd post this for early review and feedback.