Commit graph

85 commits

Author SHA1 Message Date
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
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
Niko Matsakis
15fc110dff release 0.9.2
- Introduces the `propagated_panic` hook and specify that the
  salsa storage types are unwind safe (#107).
2019-01-15 05:06:54 -05:00
Niko Matsakis
2af8cb3004 release 0.9.1
- Includes fix to a subtle cancellation bug (#66)
2019-01-04 13:57:37 -05:00
Niko Matsakis
beff7adbc4 release 0.9.0
- Panic safety improvements (#81)
- We build on stable now (#94)
- Removed use of dynamic dispatch for constructing query
  descriptors (#95)
  - Technically a breaking change, though unlikely to affect clients
- Removed use of upgradable reads to avoid Amanieu/parking-lot#101 (#75)
- Upgraded parking lot (#100)
- Improved Debug output (#98)
- Snapshot implements Debug (#85)
2018-12-28 10:26:27 -05:00
Aleksey Kladov
f9610df77e upgrade parking lot 2018-12-27 16:09:47 +03:00
Niko Matsakis
174e0edece kill toolchain
We now build on stable.
2018-12-13 05:13:31 -05:00
Aleksey Kladov
547ff0dfe3
Don't publish rust toolchain 2018-12-06 22:19:14 +03:00
Niko Matsakis
206af35e2b release 0.8.0
- major refactoring to the database APIs for safer parallel
  processing (#78, #82):
  - To set an input, you now write `db.query_mut(Query).set(...)`,
    and you must declare your database as `mut`.
  - To fork a thread, you now write `db.snapshot()`, which acquires
    a read-lock that is only released when the snapshot is dropped
    (note that this read-lock blocks `set` from occuring on the main
    thread).
  - Therefore, there can only be one mutable handle to the
    database; all other handles are snapshots. This eliminates a variety
    of complex and error-prone usage patterns.
- introduced the `salsa_event` callback that can be used for logging
  and introspection (#63)
2018-11-01 05:56:03 -04:00
Niko Matsakis
729904ddd3 publish v0.7.0
Changes:
- correct dead locks and add parallel stress test (#72)
- we now panic if you `get` an input that has not been `set` and
  we do not compare inputs for equality (thus dropped `Default` and `Eq`
  bounds) (#69)
- `PanicGuard` now detects internal salsa bugs (#71)
2018-10-30 17:03:04 -04:00
Aleksey Kladov
f4c00cfe97 Add a stress test 2018-10-30 14:41:56 -04:00
Niko Matsakis
14437fe69a release 0.6.2
- Includes GC (#64)
- And a bug fix (#67) for cancellation
2018-10-25 10:23:02 -04:00
Niko Matsakis
f56c341730
Merge pull request #64 from nikomatsakis/gc
introduce garbage collection
2018-10-25 08:50:55 -04:00
Niko Matsakis
6d28ecd326 release 0.6.1
- we now offer a `lock_revision` API, though it is likely to change
- we are now panic safe, but only in a single threaded context
2018-10-25 05:51:26 -04:00
Niko Matsakis
ce24850c3d switch assert_log to a better debug library 2018-10-25 05:47:45 -04:00
Niko Matsakis
e6f1f6b7fb replace with_frozen_revision with revision_guard 2018-10-19 06:00:15 -04:00
Niko Matsakis
92ca4ade43 bump version to 0.6.0 2018-10-18 21:31:18 -04:00
Niko Matsakis
fbe0a83b0c release 0.5.0 2018-10-15 16:38:55 -04:00
Niko Matsakis
a0e14e1806 runtime: dependency graph (wip) 2018-10-12 13:41:55 -04:00
Niko Matsakis
c52a3775df bump to 0.4.1 since I would like to release this 2018-10-05 15:25:12 -04:00
Niko Matsakis
a4bc62eb71 fix repository link 2018-10-05 11:07:48 -04:00
Niko Matsakis
56b20a58c5 bump to v0.4.0 2018-10-05 11:04:41 -04:00
Niko Matsakis
1c03cc47e5 bump to v0.3.0 2018-10-02 20:12:52 -04:00
Niko Matsakis
1dacf73063 udpate license 2018-10-02 05:59:10 -04:00
Niko Matsakis
848019bbca bump to v0.2.0 2018-10-01 09:09:13 -04:00
Niko Matsakis
9bfd8ebbfa add debugging, get incremental test working 2018-09-30 07:28:22 -04:00
Niko Matsakis
e134ffcdf4 add a public next_revision method and start on incremental test 2018-09-30 06:59:28 -04:00
Niko Matsakis
5ed8cafe04 introduce active query and some (unused) fields 2018-09-29 07:15:41 -04:00
Niko Matsakis
9b1bcb1677 warn people not to use this :) 2018-09-29 06:05:04 -04:00
Niko Matsakis
302a89fea5 rewrite to use parking lot rw-locks and make everything threadsafe 2018-09-28 14:02:39 -04:00
Niko Matsakis
ff7177a760 update readme 2018-09-28 11:48:21 -04:00
Niko Matsakis
17789040fa add a description, repository 2018-09-28 11:42:03 -04:00
Niko Matsakis
cae379fd06 import the code 2018-09-28 11:04:52 -04:00
Niko Matsakis
b26f0c17ea add readme, license, etc 2018-09-28 11:01:27 -04:00