Folkert
a3b00fbf55
Merge branch 'explicit-closed-tag-record' into delay-instantiating-aliases
2022-03-17 20:34:52 +01:00
Folkert
34e566965d
implement can crate
2022-03-17 19:04:24 +01:00
Folkert
b38ff78422
make extension check work again
2022-03-16 22:19:48 +01:00
Folkert
f868410a91
also skip opaque aliases for now
2022-03-16 22:09:39 +01:00
Folkert
48b6cd09c7
conditionally use a DelayedAlias
2022-03-16 18:29:40 +01:00
Folkert
7f63e09272
remember recursion variable when making alias recursive
2022-03-16 14:52:34 +01:00
Folkert
1dacf29879
make sure aliases are not forgotten
2022-03-16 14:36:24 +01:00
Folkert
b3dce7317d
hook up aliases
2022-03-15 22:23:40 +01:00
ayazhafiz
8aaf614481
Improve error message
2022-03-15 11:18:02 -05:00
ayazhafiz
787c8ee3a5
s/occurence/occurrence/g
2022-03-14 17:50:55 -05:00
ayazhafiz
8810a48a52
fmt
2022-03-14 17:47:29 -05:00
ayazhafiz
3da34fc843
Report unbound type variables in aliases, opaques
...
Closes #2726
2022-03-14 17:42:45 -05:00
Folkert
6baae55980
add equal_types_with_storage helper
2022-03-13 22:46:41 +01:00
Folkert
e8bf5fa378
prevent clone for all function signatures
2022-03-13 22:35:56 +01:00
Folkert
15ac77567a
make rigid variable introducion more obvious
2022-03-13 18:27:42 +01:00
Folkert
d31ea3e71f
clarify import constraint
2022-03-13 17:59:33 +01:00
Folkert
b3f7b3a337
record referenced types
2022-03-13 17:52:31 +01:00
Folkert
4ef6cba23a
Merge branch 'split-types-values' into type-checking-storage-subs
2022-03-13 17:43:24 +01:00
Folkert
563ba6acbb
incorporate referenced types
2022-03-13 16:57:42 +01:00
Folkert
8bc31e82c3
try to keep type and value symbols separate
2022-03-13 16:50:32 +01:00
Folkert
ed247c9da3
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs
2022-03-13 13:43:00 +01:00
Folkert
a9849a6ffc
add clarifying comments to Constraints
2022-03-13 13:42:49 +01:00
Richard Feldman
0b3fb576d4
Merge remote-tracking branch 'origin/trunk' into abilities-parsing
2022-03-12 23:43:52 -05:00
Richard Feldman
da64cc0a1d
cargo fmt
2022-03-12 23:43:45 -05:00
ayazhafiz
d7abc3897b
Parse abilities
2022-03-12 21:29:06 -06:00
Folkert
8b2c1707d4
don't even create a type if we only need a variable
2022-03-13 02:12:45 +01:00
Folkert
eccb461b01
get fancy, store variable directly in the index
2022-03-13 01:59:28 +01:00
Folkert
b3d9f9c2de
use EitherIndex<Type, Variable> to halve number of types stored
2022-03-13 01:46:49 +01:00
Folkert
e3e9215578
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs
2022-03-12 14:10:43 +01:00
Folkert
401b3fd5ad
improve Constraint Debug impl
2022-03-12 13:31:58 +01:00
Folkert
8b92401d01
document let_import_constraint
2022-03-12 13:28:24 +01:00
hafiz
28a3ae85e3
Merge pull request #2704 from rtfeldman/num-to-nat
...
Add `Num.toNat`
2022-03-11 18:46:43 -06:00
hafiz
5bc29c9b88
Merge pull request #2700 from rtfeldman/optimize-instantiate-alias
...
improve `correct_mutual_recursive_type_alias`
2022-03-11 17:29:51 -06:00
ayazhafiz
6a71358431
Get rid of more clones when resolving recursive aliases and use fast ImMap
2022-03-11 14:59:19 -06:00
Brendan Hansknecht
d681062c63
add Num.toNat
2022-03-11 11:17:42 -08:00
Folkert
aebb3a162e
it's alive!
2022-03-11 17:27:44 +01:00
Folkert
fc5e09a9e3
use Vec instead of ImSet
2022-03-11 09:52:44 +01:00
Folkert
3510bad1d5
add scaffolding
2022-03-07 20:55:40 +01:00
ayazhafiz
01255a17d5
Remove unnecessary reference
2022-03-06 22:19:45 -05:00
ayazhafiz
47e4904075
Chase aliases when checking for valid extension types
2022-03-06 22:17:58 -05:00
ayazhafiz
aae5a46034
Fmt
2022-03-06 22:17:22 -05:00
ayazhafiz
eed7e3df71
Report invalid extension types during canonicalization
...
Closes #2541
2022-03-06 22:17:22 -05:00
hafiz
de9da2d8a5
Merge pull request #2657 from rtfeldman/i/2567
...
Register accessor closures when they are bound
2022-03-06 12:59:55 -05:00
ayazhafiz
0692caf7ba
Consolidate Accessor
data
2022-03-06 11:07:31 -05:00
ayazhafiz
3bff99b0a2
Register accessor closures when they are bound
...
Previously we only registered record accessor closures in anonymous
contexts, where we assume they must already be specialized based on the
surrounding contexts. This is not true in general since one might bind
an accessor to a name.
Closes #2567
2022-03-06 10:53:12 -05:00
Folkert
c7c9a90d65
restructure how def_types are stored in Constraints
2022-03-05 21:47:49 +01:00
Folkert
dc8a077fff
constraint.rs tweaks
2022-03-05 21:32:13 +01:00
hafiz
cad02d878c
Merge pull request #2645 from rtfeldman/solve-fully-tail-recursive
...
make solve fully tail recursive
2022-03-05 14:35:39 -05:00
Folkert
fc4212310f
Merge remote-tracking branch 'origin/trunk' into solve-fully-tail-recursive
2022-03-05 18:34:09 +01:00
Folkert
0285a1b0ea
cleanup
2022-03-05 16:41:29 +01:00