326: Salsa 2022 tests r=nikomatsakis a=nikomatsakis
Convert the `salsa-2022-tests` crate into a utility crate, and make a `tests` directory so that we can add tests one by one.
Fixes#325
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
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>