Commit graph

767 commits

Author SHA1 Message Date
bors[bot]
bba8dd57da
Merge #281
281: Add bilibili videos links into book r=nikomatsakis a=armoha

Fixes #278 


Co-authored-by: armoha <kein0011@naver.com>
2021-09-10 15:33:58 +00:00
armoha
ec7a3ae3c3 Add bilibili videos links into book 2021-09-10 05:39:10 +09:00
bors[bot]
a6f9a8a44c
Merge #280
280: Fix `invalidate` and `report_synthetic_read` r=nikomatsakis a=jonas-schievink

Fixes https://github.com/salsa-rs/salsa/issues/246
Fixes https://github.com/salsa-rs/salsa/issues/277

`report_synthetic_read` only forced the durability of the current query to some lower value, but didn't set its `changed_at` value, leading to downstream queries assuming that they could reuse the query's value when they could not. Force `changed_at` to the current revision to fix that. This will not result in unnecessary invocations of the query, because salsa still treats it as pure, and won't re-run it if its inputs are up to date.

Additionally, `invalidate` did also not set the slot's `changed_at` field, which is fixed by setting it to the newly created revision.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-09 16:10:06 +00:00
Jonas Schievink
8f0b9b7f82 Fix invalidate and report_synthetic_read 2021-09-03 23:35:15 +02:00
bors[bot]
aed4bbff73
Merge #279
279: Remove dead code r=nikomatsakis a=jonas-schievink

This was added in fd036a4f15, but never actually came into effect.

Granting access to `QueryTableMut` for every query type should be harmless, because every method on that type has a where-clause that makes it only work with the right query storage type.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-03 18:10:16 +00:00
Jonas Schievink
7b39882deb Remove dead code 2021-09-03 18:38:34 +02:00
bors[bot]
114d6db8f6
Merge #276
276: Keep parameter names of queries in `query_group` attribute r=nikomatsakis a=Veykril

Now that RA gets to a point where it can expand attributes it would be helpful not to discard parameter names.
Before:
![Code_1XD5LiRfJw](https://user-images.githubusercontent.com/3757771/123661119-9420ab00-d834-11eb-8d59-296533e0a96e.png)
After:
![Code_kwRhvPySuL](https://user-images.githubusercontent.com/3757771/123661116-93881480-d834-11eb-88e4-b8e4dbf2be52.png)


Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-08-24 19:51:37 +00:00
Lukas Wirth
ea378103c3 Use format_ident! when creating new identifiers in salsa-macros 2021-08-24 02:47:28 +02:00
Lukas Wirth
26b47e02e9 Keep parameter names of queries in query_group attribute 2021-06-30 21:14:10 +02:00
bors[bot]
6db6c3c4d0
Merge #271
271: CI runs Clippy r=nikomatsakis a=1tgr



Co-authored-by: Tim Robinson <tim.g.robinson@gmail.com>
2021-06-17 14:26:14 +00:00
bors[bot]
08cddfd6dd
Merge #272
272: CI installs `rustfmt` where needed r=nikomatsakis a=1tgr

Only the stable toolchain appears to install `rustfmt` by default

Co-authored-by: Tim Robinson <tim.g.robinson@gmail.com>
2021-06-17 14:24:35 +00:00
Tim Robinson
fc6806a07c CI runs Clippy 2021-06-17 15:21:51 +01:00
Tim Robinson
a691096063 CI installs rustfmt where needed
Only the stable toolchain appears to install `rustfmt` by default
2021-06-17 15:10:45 +01:00
bors[bot]
5c20caaab4
Merge #268
268: Expose proc macro docs via the main crate r=nikomatsakis a=1tgr

Improve visibility by placing the `database` and `query_group` proc macros at the bottom of the main docs page, instead of manually browsing to the docs for the `salsa-macros` crate.

Co-authored-by: Tim Robinson <tim.g.robinson@gmail.com>
2021-06-17 13:40:35 +00:00
bors[bot]
7c4bc51165
Merge #270
270: CI runs `cargo fmt` in check mode r=nikomatsakis a=1tgr



Co-authored-by: Tim Robinson <tim.g.robinson@gmail.com>
2021-06-17 13:37:42 +00:00
Tim Robinson
de030b0a69 CI runs cargo fmt in check mode 2021-06-16 19:26:16 +01:00
Tim Robinson
c6e4b23c71 Expose proc macro docs via the main crate 2021-06-16 09:50:05 +01:00
bors[bot]
ff938024e2
Merge #267
267: remove tracing garbage collection support r=matklad a=nikomatsakis

It is not widely used and it makes it harder to evolve Salsa.

Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2021-06-15 19:30:07 +00:00
Niko Matsakis
11c55b804d
Update RFC0008-Remove-Garbage-Collection.md 2021-06-15 15:29:42 -04:00
Niko Matsakis
d178d1b765 update a few comments that mention gc 2021-06-06 06:20:23 -04:00
Niko Matsakis
1bf5757255 link RFC to PR 2021-06-06 06:08:45 -04:00
Niko Matsakis
f7dd6b3219 remove tracing garbage collection support
It is not widely used and it makes it harder to evolve Salsa.
2021-06-06 06:06:03 -04:00
bors[bot]
d552f59c8b
Merge #266
266: Publish 0.17.0-pre.1 r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-29 18:19:39 +00:00
Aleksey Kladov
a84ee62bd1 Publish 0.17.0-pre.1
- new cancellation API #265
2021-05-29 20:57:48 +03:00
bors[bot]
b54dc63f87
Merge #262
262: RFC: Opinionated cancelation r=nikomatsakis a=nikomatsakis

@matklad and @jonas-schievink have been discussing a fresh take on salsa that builds on the experience we've gained with it, and one of the first simple steps we wanted to take was to make a more opinionated cancelation model. This is a write-up.

Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2021-05-28 00:25:50 +00:00
Niko Matsakis
67207d8d0d update with links to implementation 2021-05-27 20:24:38 -04:00
bors[bot]
e17e77c4e9
Merge #265
265: Implement "opinionated cancellation" r=nikomatsakis a=jonas-schievink

This implements the design described in RFC https://github.com/salsa-rs/salsa/pull/262.

Currently, the `in_par_get_set_cancellation` test is failing. I'm not completely sure what it is trying to test (the comment on the test does not match its behavior), so I couldn't fix it.

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-27 12:30:18 +00:00
Jonas Schievink
b9fc82969f Mention that salsa_event should be used instead 2021-05-27 14:23:30 +02:00
Jonas Schievink
458266e1cd Move unwind_if_cancelled to Database 2021-05-25 15:34:57 +02:00
Jonas Schievink
1fb660c33e Use the more common spelling of cancell{ed,ation} 2021-05-25 15:08:23 +02:00
Jonas Schievink
f9cb032568 Fix "frozen" test 2021-05-25 14:55:38 +02:00
Jonas Schievink
018658b450 Explain why we don't duplicate panics from other threads 2021-05-19 18:32:16 +02:00
Jonas Schievink
bb4b42acf1 Retain original import style 2021-05-18 16:08:43 +02:00
Jonas Schievink
223f87bb18 Canonicalize to US spelling of "cancelation" 2021-05-18 15:36:43 +02:00
Jonas Schievink
877d3f20d1 Remove on_propagated_panic 2021-05-18 15:20:13 +02:00
Jonas Schievink
5ac74aba04 Add a cancelation check callback to the runtime 2021-05-18 15:20:13 +02:00
Jonas Schievink
49a1184bcf Improve Canceled API 2021-05-18 14:41:45 +02:00
bors[bot]
b3cb3c42f2
Merge #264
264: Fix book workflow r=matklad a=mbrobbel

Removes the [deprecated](https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/) `add-path` command and bumps the versions.

Co-authored-by: Matthijs Brobbel <m1brobbel@gmail.com>
2021-05-17 17:40:16 +00:00
Jonas Schievink
197b01fa4b Implement "opinionated cancellation" 2021-05-17 18:59:28 +02:00
Matthijs Brobbel
2e590fd3e4
Fix book workflow 2021-05-16 21:58:24 +02:00
bors[bot]
4c57706765
Merge #263
263: remove some unneeded lifetime parameters r=nikomatsakis a=nikomatsakis

Makes the compiler example read better.

Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2021-05-15 14:58:20 +00:00
Niko Matsakis
08cc09f7e3 nits, sp 2021-05-15 09:35:09 -04:00
Niko Matsakis
a557013514 remove some unneeded lifetime parameters
Makes the compiler example read better.
2021-05-15 09:28:24 -04:00
Niko Matsakis
be39f5d870
Apply suggestions from code review
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-15 09:26:28 -04:00
Niko Matsakis
54e092b984 fix title 2021-05-15 06:07:02 -04:00
Niko Matsakis
2b8ee2043d add RFC: Opinionated cancelation 2021-05-15 05:46:34 -04:00
bors[bot]
9a17f01d1b
Merge #261
261: modify RFC template to use FAQ format r=nikomatsakis a=nikomatsakis



Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2021-05-15 09:28:54 +00:00
Niko Matsakis
ecf693e481 modify RFC template to use FAQ format 2021-05-15 05:28:02 -04:00
bors[bot]
47d409937f
Merge #260
260: Include user-readable query keys in cycle errors r=nikomatsakis a=jonas-schievink

Previous output:

```
---- nameres::tests::macros::unexpanded_macro_should_expand_by_fixedpoint_loop stdout ----
thread 'nameres::tests::macros::unexpanded_macro_should_expand_by_fixedpoint_loop' panicked at 'Internal error, cycle detected:

DatabaseKeyIndex { group_index: 2, query_index: 11, key_index: 1 }
', /home/jonas/.cargo/registry/src/github.com-1ecc6299db9ec823/salsa-0.16.1/src/lib.rs:490:48
```

Output after this PR:

```
---- nameres::tests::macros::unexpanded_macro_should_expand_by_fixedpoint_loop stdout ----
thread 'nameres::tests::macros::unexpanded_macro_should_expand_by_fixedpoint_loop' panicked at 'Internal error, cycle detected:

hygiene_frame(HirFileId(MacroFile(MacroFile { macro_call_id: LazyMacro(LazyMacroId(0)) })))
', /home/jonas/dev/salsa/src/lib.rs:492:35
```

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-15 09:03:36 +00:00
Niko Matsakis
6eca1641eb
Merge pull request #247 from ChristopherBiscardi/on-demand-example
update on_demand_inputs invalidation
2021-05-15 04:55:37 -04:00