Commit graph

428 commits

Author SHA1 Message Date
Niko Matsakis
791ec3065c elaborate a bit more on the GC tests 2019-03-22 05:18:32 -04:00
Niko Matsakis
c5795a3e5c only GC outdated intern keys 2019-03-22 05:13:07 -04:00
Niko Matsakis
9689d4471b revert take_while changes, which were just .. wrong 2019-03-22 04:58:47 -04:00
Niko Matsakis
f9fe9e4f07 add missing HasQueryGroup 2019-03-13 05:34:56 -04:00
Niko Matsakis
c8b30c52e1 nit: change filter to take_while to make clear we stop early
i.e., we never proceed after we find *something* that is dirty.
2019-03-13 05:30:03 -04:00
Niko Matsakis
7d5d01104c document the logic from a FIXME and improve panics 2019-03-13 05:27:14 -04:00
Niko Matsakis
7dcdad88e3 convert to <= when comparing against std::u32::MAX 2019-03-13 05:18:35 -04:00
Niko Matsakis
7ed24f0fa3 use InternIndex also to represent indices from the user 2019-03-13 05:18:35 -04:00
Niko Matsakis
71f250d037 WIP fix DiscardIf::Always, thanks matklad :) 2019-03-12 09:26:46 -04:00
Niko Matsakis
f48515747c create a true inverse key for the lookup path 2019-03-12 08:55:37 -04:00
Niko Matsakis
56ef78109a remove send/sync bounds 2019-02-04 22:10:05 +01:00
Niko Matsakis
1fbd61bf87 adopt InternKey trait 2019-02-04 21:01:58 +01:00
Niko Matsakis
e3f5eb6ee8 implement #[salsa::interned] query storage 2019-02-03 20:45:52 +01:00
Niko Matsakis
312467c981 fix travis.yml 2019-01-31 16:02:28 -05:00
Niko Matsakis
d2533df418
Merge pull request #146 from nikomatsakis/salsa-book
introduce the basic structure of a book (very much a WIP)
2019-01-31 15:57:37 -05:00
Niko Matsakis
fd61e392d0 update travis to test book and publish 2019-01-31 10:33:28 -05:00
Niko Matsakis
e5d9409d46 introduce the basic structure of a book (very much a WIP) 2019-01-30 05:58:41 -05:00
Niko Matsakis
d9098e30cf
Merge pull request #145 from nikomatsakis/salsa-videos
add links to the videos
2019-01-29 15:17:46 -05:00
Niko Matsakis
fc60346e23
Merge pull request #144 from matklad/gc-all-the-things
just clear the table if we are goining to collect everything
2019-01-29 15:17:27 -05:00
Niko Matsakis
57174e2c63 add links to the videos 2019-01-29 15:17:02 -05:00
Aleksey Kladov
e3c07b010a fast-path no-op gc as well 2019-01-29 19:41:15 +03:00
Aleksey Kladov
f9cae4f2eb just clear the table if we are goining to collect everything 2019-01-29 17:30:43 +03:00
Niko Matsakis
d33a2ac36a
Merge pull request #143 from nikomatsakis/publish-0.10.0
release 0.10.0
2019-01-28 05:10:44 -05:00
Niko Matsakis
1736115d9f release 0.10.0
- GC API now more orthogonal + flexible (#138)
- Removed `set_unchecked` testing mechanism (#141)
- Generated enums now squelch `non_camel_case_types` lint (#135)
- Tests now using `set_foo` (#139)
- `Query::group_storage` now called `Query::query_storage` (#142)

Contributors to this release:

- @matklad
- @memoryruins
- @nikomatsakis
2019-01-28 05:06:54 -05:00
Niko Matsakis
a9fe8d7d9e
Merge pull request #142 from nikomatsakis/rename-group-storage
rename `Query::group_storage` method to `Query::query_storage`
2019-01-28 05:06:40 -05:00
Niko Matsakis
58ba8ac425 rename Query::group_storage method to Query::query_storage 2019-01-28 05:01:53 -05:00
Niko Matsakis
1002d7e70a
Merge pull request #138 from matklad/flexible-gc
Make GC API more orthogonal and flexible
2019-01-28 04:51:02 -05:00
Niko Matsakis
3dc4539c7c
Merge pull request #139 from memoryruins/convert-tests
convert tests to use generated set methods
2019-01-28 04:48:07 -05:00
Niko Matsakis
541b4beade
Merge pull request #141 from memoryruins/remove-unchecked-set-trait
remove `UncheckedMutQueryStorageOps` trait
2019-01-28 04:47:38 -05:00
memoryruins
db24e677e3 convert tests to use generated set methods 2019-01-28 00:50:09 -05:00
memoryruins
ebd4990bde remove UncheckedMutQueryStorageOps 2019-01-27 17:52:53 -05:00
Niko Matsakis
28af2988e9
Merge pull request #140 from memoryruins/remove-unchecked
remove set_unchecked methods
2019-01-27 17:07:12 -05:00
memoryruins
7d12f4f93a remove set_unchecked methods 2019-01-27 17:01:00 -05:00
Aleksey Kladov
9387fd2f4d more orthogonal naming 2019-01-27 17:14:57 +03:00
Aleksey Kladov
d01d6ed511 Make GC API more orthogonal and flexible
Now, the effect of GC is a "product" of three parameters:

* what values are affected (everything/everything except used)
* are we removing values
* are we removing deps

SweepStrategy::default is now a no-op GC.
2019-01-26 21:38:15 +03:00
Niko Matsakis
1b9aaf2599
Merge pull request #135 from nikomatsakis/non-camel-case-types
apply `non_camel_case_types` to the enum variant
2019-01-26 08:01:35 -05:00
Niko Matsakis
83baced7af
Merge pull request #134 from nikomatsakis/release-0.10.0-alpha5
publish v0.10.0-alpha5
2019-01-26 08:01:19 -05:00
Niko Matsakis
0f2e03d120 apply non_camel_case_types to the enum variant 2019-01-25 19:17:32 -05:00
Niko Matsakis
682c29e777 publish v0.10.0-alpha5
- Make `dyn Trait` implementations work

Contributors to this release:

- @nikomatsakis
2019-01-25 19:09:10 -05:00
Niko Matsakis
87ef128477
Merge pull request #133 from nikomatsakis/dyn-trait
make `dyn Trait` query implementations work
2019-01-25 18:54:50 -05:00
Niko Matsakis
6f15a440ca make dyn Trait query implementations work 2019-01-25 18:36:23 -05:00
Niko Matsakis
5e2fcc2a17
Merge pull request #132 from nikomatsakis/release-0.10.0-alpha4
Release salsa-0.10.0-alpha4
2019-01-25 15:10:23 -05:00
Niko Matsakis
77c3a72cea Release salsa-0.10.0-alpha4
- Introduce requirement for group storage structs (#130)
- Manually implement Default (#131)

Contributors to this release:

- @cormacrelf
- @nikomatsakis
2019-01-25 11:01:15 -05:00
Niko Matsakis
1b04ac19ff
Merge pull request #131 from cormacrelf/bad-derive-default
Manually implement Default for *GroupStorage
2019-01-25 11:01:01 -05:00
Niko Matsakis
a6b5a37627
Merge pull request #130 from nikomatsakis/query-group-struct
Introduce "query group struct"
2019-01-25 10:50:30 -05:00
Niko Matsakis
b73cf109d7 update hello-world with the desired naming convention 2019-01-25 10:47:01 -05:00
Cormac Relf
868904874a manually implement Default for *GroupStorage
All the example code uses Default to create the db structs, but it turns
out the *GroupStorage's `#[derive(Default)]` adds a trait bound of
(e.g.) `DB__ + Default + HelloWorldDatabase` even though it never
actually needs to call HelloWorldDatabase::default(). So if you didn't
implement Default, then you couldn't be a salsa database struct.
2019-01-26 02:45:07 +11:00
Niko Matsakis
1382495d9f drive-by change: use salsa:: in place of ::salsa::
This is less precise, but it permits people to "re-export" salsa without
forcing a Cargo.toml dependency.
2019-01-25 10:37:59 -05:00
Niko Matsakis
9b5c7eeb5e change #[salsa::query_group] attribute to take a struct name 2019-01-25 10:26:39 -05:00
Niko Matsakis
690a118472 consolidate into one HasQueryGroup trait 2019-01-25 09:21:11 -05:00