Commit graph

590 commits

Author SHA1 Message Date
Vincent Esche
fed9ccce9e Removed unnecessary salsa::requires from compiler example 2019-11-24 11:13:46 +01:00
Vincent Esche
09d9592f14 Improved ‘compiler’ example showing parsing of an actual language and use of actual interning 2019-10-11 16:49:14 +02:00
Aleksey Kladov
e1f6572a00
Merge pull request #200 from declanvk/patch-1
Fix documentation links + on demand example
2019-10-07 21:51:37 +03:00
Declan Kelly
564fa155d4 Correct mutability in on demand example, fix doc links
Fix query_mut documentation link

Fix more documentation links

More doc links
2019-10-05 18:30:42 -07:00
Niko Matsakis
e0def475d6
Merge pull request #201 from lnicola/dont-derive-new
Implement QueryTable constructor manually instead of using derive-new
2019-10-04 08:23:06 -04:00
Laurențiu Nicola
c99580ba14 implement QueryTable constructor manually 2019-10-03 19:26:20 +03:00
Aleksey Kladov
afe6b457f3
Merge pull request #199 from funkill/fix-deploy
Fix deploy book
2019-09-30 15:22:04 +03:00
funkill2
abb16ea445
fix deploy book 2019-09-30 15:17:23 +03:00
Niko Matsakis
d1e9471bee
Merge pull request #197 from nikomatsakis/mut-self
require `&mut self` for moving to a new revision (breaking)
2019-09-27 08:23:26 -04:00
Niko Matsakis
b0710416d0 require &mut self for with_incremented_revision 2019-09-27 05:54:42 -04:00
Niko Matsakis
236c2eae84 require &mut self for QueryTableMut methods (breaking) 2019-09-27 05:54:10 -04:00
Niko Matsakis
1715d44555 store &mut DB in QueryTableMut 2019-09-27 05:53:16 -04:00
Niko Matsakis
0a94efeac3 emit WillChangeInputValue before new revision (breaking change!)
Otherwise we need to borrow the `db` in `with_incremented_revision`
and it's a pain.
2019-09-27 05:51:27 -04:00
Niko Matsakis
8c133e7a4d make synthetic_write require &mut self (breaking change!)
This was an oversight before -- the current type implies that
one introduce a synthetic write (and hence a new revision) from
a `Frozen<DB>`! Not cool.
2019-09-27 05:50:16 -04:00
Niko Matsakis
b9f00726da introduce Database::salsa_runtime_mut method (breaking change!) 2019-09-27 05:49:15 -04:00
Niko Matsakis
c789219bc5 move query-storage into an Arc
This way, we can hold a reference to it without borrowing the database.
2019-09-27 05:34:33 -04:00
Niko Matsakis
d63ee217d7
Merge pull request #195 from nikomatsakis/book-work
document the selection pattern
2019-09-24 07:06:27 -04:00
Niko Matsakis
25b54aa0b3 remove mention of the im crate 2019-09-24 06:51:17 -04:00
Niko Matsakis
8b2219c1e1 fix weird sentence 2019-09-24 06:29:30 -04:00
Niko Matsakis
1767837688
Update .travis.yml
Co-Authored-By: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-24 06:22:30 -04:00
Niko Matsakis
725696a096
Update .travis.yml
Co-Authored-By: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-24 06:22:22 -04:00
Niko Matsakis
2e9b418bbb rework book a little bit
- extend some of the empty sections, add a new common pattern
- also, show how to use anchors and include so we can test the sources
  for common patterns
2019-09-24 06:13:51 -04:00
Niko Matsakis
1a8c97899e
Merge pull request #194 from matklad/on-demand
On demand input queries
2019-09-24 05:18:10 -04:00
Aleksey Kladov
3616014391
Apply suggestions from code review
Co-Authored-By: Niko Matsakis <niko@alum.mit.edu>
2019-09-24 12:08:13 +03:00
Aleksey Kladov
a798f1d918 Update src/runtime.rs
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2019-09-22 18:31:38 +03:00
Aleksey Kladov
ec5b92ea20 tests and docs for on-demand input pattern 2019-09-20 12:25:12 +03:00
Aleksey Kladov
60a475202a add add_synthetic_read method to allow tweaking of the durability 2019-09-20 12:24:46 +03:00
Aleksey Kladov
95d0392f9c add invalidate method to queries 2019-09-20 10:40:26 +03:00
Niko Matsakis
a9860bf37f
Merge pull request #147 from Marwes/cycles
feat: Allow queries to avoid panics on cycles
2019-09-19 05:56:39 -04:00
Aleksey Kladov
b3d3e8f944
Merge pull request #192 from guanqun/typo-fix
some random typo fixes
2019-08-22 20:15:03 +03:00
Guanqun Lu
5eb6c6f0bd some random typo fixes 2019-08-23 00:54:29 +08:00
Aleksey Kladov
9fa6c57d3c
Merge pull request #191 from matklad/updates
⬆️ syn, quote, proc_macro2
2019-08-22 16:34:43 +03:00
Aleksey Kladov
04ecedd6ec ⬆️ syn, quote, proc_macro2 2019-08-22 16:21:46 +03:00
Markus Westerlind
360c78397b nits 2019-08-21 10:18:01 +02:00
Markus Westerlind
897ee5f3d2 cargo fmt 2019-08-21 10:13:08 +02:00
Markus Westerlind
0e01067d55 feat: Allow queries to avoid panics on cycles
Quickest POC I could create to get some potentially cyclic queries to
not panic and instead return a result I could act on. (gluon's module
importing need to error on cycles).

```
// Causes `db.query()` to actually return `Result<V, CycleError>`
fn query(&self, key: K, key2: K2) -> V;
```

A proper implementation of this would likely return
`Result<V, CycleError<(K, K2)>>` or maybe larger changes are needed.

cc #6
2019-08-16 20:37:54 +02:00
Niko Matsakis
4815e14796
Merge pull request #190 from nikomatsakis/0.13.0
publish 0.13.0
2019-08-15 08:08:52 -04:00
Niko Matsakis
6fbce09585 highlight breaking changes 2019-08-15 08:08:00 -04:00
Niko Matsakis
a1bd7106a2 publish 0.13.0
also, create a release notes file for future reference
2019-08-15 07:59:05 -04:00
Aleksey Kladov
dd2b6669cc
Merge pull request #182 from matklad/runtime_id
use AtomicU64 for RuntimeId
2019-08-15 14:38:34 +03:00
Aleksey Kladov
efa92fdc23 use AtomicU64 for RuntimeId
We don't use `RuntimeId` to index memory, so using usize is
not the best fit semantically
2019-08-15 14:06:26 +03:00
Niko Matsakis
89dcc0ca57
Merge pull request #181 from matklad/ptr
use ptr::eq/hash for readability
2019-08-15 07:04:07 -04:00
Niko Matsakis
c80f5ead1c
Merge pull request #185 from matklad/pl
⬆️ parking_lot
2019-08-15 07:02:30 -04:00
Niko Matsakis
ae9ab75384
Merge pull request #183 from matklad/no-clone
remove needless clone
2019-08-15 07:01:34 -04:00
Niko Matsakis
b272cc1321
Merge pull request #180 from nikomatsakis/durability
Durability
2019-08-15 07:01:00 -04:00
Niko Matsakis
b26a690ff3 remove an unnecessary &mut 2019-08-15 06:50:10 -04:00
Niko Matsakis
969a9c2fc8 re-use the database-key instead of recreating it 2019-08-15 06:39:17 -04:00
Niko Matsakis
4cae741768 inline probe_memoized_value 2019-08-15 06:36:37 -04:00
Aleksey Kladov
5c27b734cf ⬆️ parking_lot 2019-07-15 19:43:39 +03:00
Aleksey Kladov
4c09786285
Merge pull request #184 from matklad/or_default
tiny simplification
2019-07-05 17:49:28 +03:00