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
Cormac Relf
3b15a09b8e
replace $crate with salsa in proc macro and make hello_world run
2019-01-21 10:59:12 -05:00
Cormac Relf
1526206e4b
recreate the rest of the impls as proc macro
2019-01-21 10:59:12 -05:00
Niko Matsakis
3db31cdbc0
create more impls
2019-01-21 10:59:11 -05:00
Niko Matsakis
3add1337f6
create struct and fields
2019-01-21 10:59:11 -05:00
Niko Matsakis
7b6254924e
first shot at parsing database-storage in syn
2019-01-21 10:59:11 -05:00
Niko Matsakis
d15be76350
move parenthesized
to its own module
2019-01-21 10:59:11 -05:00
Niko Matsakis
d510b28fe2
move salsa::query_group
code into its own module
2019-01-21 10:59:11 -05:00
Niko Matsakis
2c3450c885
bump release number to 0.10.0-alpha1
2019-01-17 05:41:07 -05:00
Niko Matsakis
85a637eb4f
rename salsa_macros
to salsa-macros
2019-01-17 05:28:42 -05:00
Niko Matsakis
8affc724c9
make the compile-fail test work
2019-01-17 05:27:20 -05:00
Niko Matsakis
0f577a2b10
generate an impl of the trait from procedural macro
...
Instead of generating
```rust
trait Query: GetQueryTable<Foo> {
fn foo() { .. }
}
```
generate
```rust
trait Query {
}
impl<T> Query for T
where
T: GetQueryTable<Foo>,
{
fn foo() { .. }
}
```
2019-01-17 05:04:27 -05:00
Fabian Schuiki
93c30a953d
make query_group macro procedural
...
Switch to a procedural implementation of the `query_group!` macro,
residing in the `components/salsa_macros` subcrate.
Allow the user to override the invoked function via `salsa::invoke(...)`
and the name of the generated query type via `salsa::query_type(...)`.
In all tests, replace the `salsa::query_group! { ... }` invocations with
the new attribute-style `#[salsa::query_group]` macro, and change them
to the new naming scheme for query types (`...Query`).
Update README, examples, and documentation.
2019-01-17 07:24:18 +01:00