Commit graph

62 commits

Author SHA1 Message Date
Aleksey Kladov
149b5faf8a Actually document salsa::requires 2019-06-19 20:12:02 +03:00
Niko Matsakis
e9c787e2b6
Merge pull request #165 from matklad/requires
allow private requirements in query groups
2019-05-30 11:49:41 +02:00
Aleksey Kladov
df92fb794e publish v0.12.1
- Introduce `salsa::transparent` query type(#163)
- Improve salsa proc macro (#160, #162)
- Update parking lot to 0.8.0 (#166)
2019-05-30 11:45:56 +03:00
Aleksey Kladov
6ea5413ef5 switch requires syntax to an attribute 2019-05-21 18:49:18 +03:00
Aleksey Kladov
c816df7208 extract attribute filtering 2019-05-21 18:30:19 +03:00
Aleksey Kladov
940eed92a6 allow private requirements in query groups 2019-05-21 18:04:01 +03:00
Niko Matsakis
8aa01bcccb
Merge pull request #163 from matklad/transparent
Add transparent query type
2019-05-07 11:51:30 -04:00
Aleksey Kladov
fe295c1b6e Add transparent query type
Transparent queries are not really queries: they are just plain
uncached functions without any backing storage.

Making a query transparent can be useful to figure out if caching it
at all is a win
2019-04-30 23:42:17 +03:00
Taryn
9913b0300e
Remove mention of unsupported '&mut self' for in a query group panic 2019-04-12 16:27:24 -05:00
Roberto Vidal
01c03b85b1 Improve doc comments 2019-04-06 14:23:02 +02:00
Niko Matsakis
30b95dcc24 publish v0.12.0
- Introduce `InternId` as the basis for interned keys, replacing
  `u32` (#157, #158)
- Support keys/values that are not `Send/Sync` (#153)
2019-04-03 16:03:41 -03:00
Niko Matsakis
4b976166fd release 0.11.1
- Includes a fix so that interned keys can be send (#155)
2019-03-27 09:24:55 -04:00
Niko Matsakis
31235aaa96 release 0.11.0
Changes:

- Add interned keys to salsa (#150) -- see salsa-rs/salsa-rfcs#2
  for more details.
- Fix bugs re: GC and volatile queries
- Optimization for GC (#144), though I think this later got undone
  as part of the bug fixes =)
2019-03-27 05:37:26 -04:00
Niko Matsakis
f0d2b964e2 bump syn to 0.15.29
(older versions didn't have the `syn::Result` type, it seems?)
2019-03-22 18:40:35 -04:00
Niko Matsakis
f9fe9e4f07 add missing HasQueryGroup 2019-03-13 05:34:56 -04:00
Niko Matsakis
f48515747c create a true inverse key for the lookup path 2019-03-12 08:55:37 -04:00
Niko Matsakis
e3f5eb6ee8 implement #[salsa::interned] query storage 2019-02-03 20:45:52 +01: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
58ba8ac425 rename Query::group_storage method to Query::query_storage 2019-01-28 05:01:53 -05: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
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
6f15a440ca make dyn Trait query implementations work 2019-01-25 18:36: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
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
Aleksey Kladov
4f3b730572 fix alpha 2019-01-25 14:30:03 +03:00
Niko Matsakis
a468292984 generate set_X and set_constant_X methods for each input
Convert some of the tests to use them
2019-01-25 05:18:26 -05:00
Niko Matsakis
a8d9fb2d6b adopt salsa::database attribute macro 2019-01-24 19:02:56 -05:00
Niko Matsakis
1528746267 adopt key, group key, and database key terminology 2019-01-24 06:33:02 -05:00
Niko Matsakis
6451c820b7 rename fns to group_foo 2019-01-24 05:50:13 -05:00
Niko Matsakis
c0978fede8 remove the need to list individual queries in database_storage 2019-01-24 05:35:57 -05:00
Niko Matsakis
8ad5051a74 make the QueryTable impl totally generic 2019-01-24 05:29:04 -05:00
Niko Matsakis
2924e98f40 add GroupStorage, GroupDescriptor to Query trait 2019-01-24 05:22:31 -05:00
Niko Matsakis
1c415b0c9d rename FromQueryGroupDescriptor and add comments 2019-01-24 05:18:43 -05:00
Niko Matsakis
860a1ab1bf add new trait bounds 2019-01-24 05:06:03 -05:00
Niko Matsakis
87dd14293e remove extra bounds from trait 2019-01-24 05:04:56 -05:00
Niko Matsakis
19d64fd281 add FromQueryGroupDescriptor trait and implement/use it 2019-01-23 11:57:03 -05:00
Niko Matsakis
f3483d1a22 defer for-each-query to the query-group 2019-01-23 10:56:01 -05:00
Niko Matsakis
c18914ae1e introduce query group descriptor enum and use in database_storage 2019-01-23 10:31:28 -05:00
Niko Matsakis
6cfaf021b0 introduce the GetQueryGroupStorage trait and use it 2019-01-23 08:52:31 -05:00
Niko Matsakis
af358ecdab replace the storage tuple with a struct
Tuples only implement Default up to arity 12.
2019-01-23 08:31:08 -05:00
Niko Matsakis
238be96432 introduce group storage structs to use from database_storage macro
This also detected a bunch of crate visibility mismatches in the
tests.
2019-01-23 05:35:07 -05:00
Niko Matsakis
e284706363 remove doctest 2019-01-21 10:59:48 -05:00
Niko Matsakis
5f9309f108 remove database_storage macro-rules macro 2019-01-21 10:59:47 -05:00
Niko Matsakis
b8311f2a28 silence dead code warning 2019-01-21 10:59:12 -05:00
Cormac Relf
857181dd17 add attributes and visibility, fix ::salsa, hide some docs 2019-01-21 10:59:12 -05:00