308: Tracked proposal r=nikomatsakis a=nikomatsakis
I sketched out a variation of the entity API that I am calling tracked (this is a hat-tip to Ember's terminology, cc `@wycats).` It is the mostly the same ideas, but repackaged in a way that I think is more intuitive. This was inspired by writing the previous tutorial and thinking how things could be a bit cleaner.
To read the proposal, check out the "overview" page on the netlify preview. The tutorial and code have not been fully updated to match yet.
cc #305
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
304: entity-based salsa preview r=nikomatsakis a=nikomatsakis
This PR is a squashed and updated version of my entity branch. This API is, I believe, what will become the long awaited (by me, anyway) Salsa 1.0 release. It's a complete overhaul of the Salsa API and implementation that feels a lot cleaner to me.
The PR includes a tutorial and sample application (a compiler) that covers the major concepts. There is still more work needed to complete the tutorial and in particular to write up a bunch of tests (I had more tests but they were hacky so I deleted them).
Right now, all the new stuff is in a pair of new crates, salsa-entity-mock and salsa-entity-macros, leaving the existing salsa intact. I would like to remove the old salsa but we have to reconcile the two and port over the tests.
There is still a fair bit of work to do before we can release this new version of Salsa, but I expect a lot of it can happen after this PR is merged. The list is on #305.
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
303: Bump parking_lot packages r=jonas-schievink a=eliascodes
This is motivated by recent changes to `parking_lot` affecting `wasm32-unknown-unknown` targets (see https://github.com/Amanieu/parking_lot/issues/269 if interested). My project depends on `parking_lot` via `salsa`, which is why I'm facing this issue.
TLDR is that `parking_lot` released a new version that provides a fix for the above. I'm hoping that version can be included in a future version of `salsa`.
For reference, here's the relevant part of the changelog: https://github.com/Amanieu/parking_lot/blob/HEAD/CHANGELOG.md#parking_lot-0120-parking_lot_core-090-lock_api-046-2022-01-28
I belive the only changes that might affect APIs used by `salsa` are in PRs https://github.com/Amanieu/parking_lot/pull/313 and https://github.com/Amanieu/parking_lot/pull/344/files, but I'm unfamiliar with the internals of either project so could easily be wrong.
I can build and test successfully locally with these bumps. Let me know if there's anything else I can do to help this over the line.
Co-authored-by: Elias Malik <elias0789@gmail.com>
275: Expose the ability to remove the value from an input query, taking ownership of the value r=nikomatsakis a=1tgr
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
302: fix misleading type in salsa book example r=nikomatsakis a=LYF1999
fix misleading type in salsa book example
Co-authored-by: Yifei <lyfmagic99@gmail.com>