Niko Matsakis
21a70b6eb0
use a newtype'd IsConstant
for better readability
...
Random bool constants are just so gauche.
2019-07-02 07:49:01 -04:00
Niko Matsakis
30714022fd
kill the ChangedAt
struct
...
It didn't seem like it was buying us much.
2019-07-02 07:49:01 -04:00
Niko Matsakis
e7d704dd8b
convert DatabaseSlot
to unsafe trait
...
The unsafe impl now asserts that the `DatabaseSlot` implementor type
is indeed `Send+Sync` if `DB::DatabaseData` is `Send+Sync`. Since our
query keys/values are a part of database-data, this means that `Slot`
must be `Send+Sync` if the key/value are `Send+Sync`. We test this
with a function that will cause compliation to fail if we accidentally
introduce an `Rc<T>` etc.
2019-07-02 06:49:24 -04:00
Niko Matsakis
9d550a9343
track dependencies via direct links to slots
2019-07-02 06:49:24 -04:00
Niko Matsakis
50cb001b41
introduce slots to the interner
2019-07-02 06:49:24 -04:00
Niko Matsakis
85848e1bbf
complete mysterious comments
2019-07-02 06:49:24 -04:00
Niko Matsakis
4e5a23b9d7
rewrite derived table to use Slot
(LRU not yet supported)
2019-07-02 06:48:32 -04:00
Niko Matsakis
74294f71f3
s/RawId/InternId/
2019-04-03 11:01:20 -03:00
Niko Matsakis
da1b26a52e
adopt raw-id
2019-03-30 06:43:16 -03:00
Aleksey Kladov
9d6236bc79
make sure interned state is send
2019-03-27 14:33:59 +03:00
Niko Matsakis
c5795a3e5c
only GC outdated intern keys
2019-03-22 05:13:07 -04:00
Niko Matsakis
7d5d01104c
document the logic from a FIXME and improve panics
2019-03-13 05:27:14 -04:00
Niko Matsakis
7dcdad88e3
convert to <=
when comparing against std::u32::MAX
2019-03-13 05:18:35 -04:00
Niko Matsakis
7ed24f0fa3
use InternIndex
also to represent indices from the user
2019-03-13 05:18:35 -04:00
Niko Matsakis
71f250d037
WIP fix DiscardIf::Always, thanks matklad :)
2019-03-12 09:26:46 -04:00
Niko Matsakis
f48515747c
create a true inverse key for the lookup path
2019-03-12 08:55:37 -04:00
Niko Matsakis
1fbd61bf87
adopt InternKey trait
2019-02-04 21:01:58 +01:00
Niko Matsakis
e3f5eb6ee8
implement #[salsa::interned]
query storage
2019-02-03 20:45:52 +01:00