Niko Matsakis
d429926ddd
treat constants more uniformly
...
We used to ignore constant inputs entirely. We now track them, but if we
find that a value is constant, we discard ITS inputs. This means that
-- if we track dependencies -- we have an "outer rim" of constant
values.
Also take the opportunity to reshuffle how derived inputs represent
their state.
2018-10-25 05:48:36 -04:00
Niko Matsakis
c4d93f9733
rename test to give it a unique prefix
2018-10-25 05:47:45 -04:00
Niko Matsakis
ce24850c3d
switch assert_log
to a better debug library
2018-10-25 05:47:45 -04:00
Niko Matsakis
120ba00f33
remove a lot of ()
keys
2018-10-18 21:30:55 -04:00
Niko Matsakis
a0c983403d
add some tests about setting with same value
2018-10-11 05:49:05 -04:00
Niko Matsakis
5e381f314b
add test where we become constant but do not change value
2018-10-11 04:56:34 -04:00
Niko Matsakis
6778898a34
track when a value *became* constant
...
Turns out we need this, as demonstrated by the included test =)
2018-10-11 04:53:49 -04:00
Niko Matsakis
efa8b0f307
add some simple tests using is_constant
2018-10-11 04:53:24 -04:00
Niko Matsakis
15faf43071
add some tests for constants (check for invalidation)
2018-10-09 20:49:26 -04:00
Aleksey Kladov
69b9dff557
Use AtomicUsize instead of AtomicU64
2018-10-09 22:37:38 +03:00
Aleksey Kladov
1c349d4229
Switch crate to pub(crate)
2018-10-09 22:34:30 +03:00
Niko Matsakis
3b5f16cbcb
Merge pull request #43 from nikomatsakis/derived-storage
...
Combine memoized and volatile to make "derived storage"
2018-10-09 15:19:14 -04:00
Niko Matsakis
c93868c9dc
make volatile queries memoize
...
This ensures consistency of results.
2018-10-09 12:41:56 -04:00
Aleksey Kladov
f14d846146
Re-export runtime
...
cc #17
2018-10-07 14:08:22 +03:00
Niko Matsakis
8366b3a38b
rename query_prototype
to query_group
2018-10-05 10:35:50 -04:00
Niko Matsakis
55ec1f51d3
switch to use fn
2018-10-05 10:30:17 -04:00
Niko Matsakis
1b98ecb7a8
change to db.query(Query).set(key, value)
2018-10-05 06:58:51 -04:00
Niko Matsakis
0ee6f3884d
make query_prototype
also define queries, remove query_definition
2018-10-05 05:55:35 -04:00
Niko Matsakis
cd5622c6de
make query method get
by default
...
Use `Query.set(db, key, value)` to set. Not sure about this.
2018-10-05 05:28:51 -04:00
Niko Matsakis
a4fb4b7b13
rename query context to database
2018-10-05 04:54:51 -04:00
Niko Matsakis
2ddc8032ee
make query_prototype
take trait, rename hello_world to compiler
2018-10-01 20:42:41 -04:00
Niko Matsakis
157e1e47f1
add support for "dependency only" tracking
2018-10-01 08:40:15 -04:00
Niko Matsakis
968149dc34
rename from of
to get
and use read
in tests
2018-09-30 10:59:08 -04:00
Niko Matsakis
6b5871c5af
nicer macro syntax
...
we give bad error messages if misused, though
2018-09-30 10:55:59 -04:00
Niko Matsakis
0846e6ebba
write tests for input
2018-09-30 10:50:46 -04:00
Niko Matsakis
f8e7071da2
restructure incremental test to permit more tests
2018-09-30 10:34:52 -04:00
Niko Matsakis
1fef80d659
expand incremental tests
2018-09-30 07:32:24 -04:00
Niko Matsakis
9bfd8ebbfa
add debugging, get incremental test working
2018-09-30 07:28:22 -04:00
Niko Matsakis
2d2bdfe7f1
move incremental, storage_varieties to tests
...
They aren't meant to be things to model oneself after.
2018-09-30 07:01:21 -04:00