Commit graph

601 commits

Author SHA1 Message Date
Ayaz Hafiz
e239f6e912
Move instantiate_rigids to types crate 2022-06-24 08:48:02 -04:00
Folkert de Vries
92a1750e82
Merge pull request #3301 from rtfeldman/i3261
Make sure to unwrap non-nullable unwrapped unions directly in alias analysis
2022-06-23 23:25:04 +02:00
Ayaz Hafiz
6e536ee783
Use copy table for importing variables from storage subs
This avoids having to taking the subs-being-imported-from as mutable.
2022-06-22 14:10:01 -04:00
Ayaz Hafiz
fdba8b26d4
Add test for types of destructed recursive alias in issue 2022-06-22 11:16:42 -04:00
Folkert de Vries
8bb85d275e
Merge pull request #3197 from rtfeldman/subs-cleanup
subs cleanup
2022-06-17 15:59:24 +02:00
Ayaz Hafiz
8cb6121fc3
Exhaustive and redundant marks don't need to be introduced
They are never generalized
2022-06-15 20:37:49 -04:00
Ayaz Hafiz
5c64e62d89
Correct encoding deriver for records 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
f1fa29fcfc
First pass at derived record encoder 2022-06-15 14:26:55 -04:00
Ayaz Hafiz
6db6e166a5
Include unspecialized lambda sets in subs snapshot 2022-06-13 08:40:50 -04:00
Ayaz Hafiz
bbee0dde25
Debug unspecialized lambda sets 2022-06-13 08:39:15 -04:00
Folkert
96ee2c52fb
rework Combined 2022-06-11 18:06:18 +02:00
Folkert
5e1cb414b6
Merge remote-tracking branch 'origin/trunk' into subs-cleanup 2022-06-11 16:13:47 +02:00
Ayaz Hafiz
0deca3ffb5
Resolve specialization lambda sets in abilities store 2022-06-09 14:20:07 -04:00
Folkert de Vries
9ab0a8f41d
Merge pull request #3201 from rtfeldman/addt-uls-fixes
Additional unspecialized lambda set fixes and tests
2022-06-08 16:00:30 +02:00
Ayaz Hafiz
5b8d24d823
Use with_capacity 2022-06-07 16:23:42 -04:00
Folkert
552c2706f6
compact all nodes on the way to the root key 2022-06-07 22:17:29 +02:00
Folkert
7481786b6b
code reuse in root key finding 2022-06-07 21:54:35 +02:00
Folkert
d48bbd0499
fix bug where root key was not used 2022-06-07 21:52:43 +02:00
Ayaz Hafiz
4b42205b03
Instantiate unspecialized lambda sets under aliases and opaques 2022-06-07 14:41:42 -04:00
Folkert
f0e4b26196
cleanup 2022-06-07 19:33:38 +02:00
Ayaz Hafiz
3df5be6528
Some cleanup 2022-06-07 12:17:03 -04:00
Ayaz Hafiz
3f3d9d035e
Clippy and format 2022-06-07 10:44:43 -04:00
Ayaz Hafiz
3dc0793557
Add debug print for unification table 2022-06-07 10:35:19 -04:00
Ayaz Hafiz
0476d4a65c
Remove unspecialized following unification links 2022-06-07 08:46:16 -04:00
Ayaz Hafiz
4339bfaed6
Print lambda sets on-demand 2022-06-07 08:46:15 -04:00
Ayaz Hafiz
d71fadd8b0
Resolve and compact specialized lambda sets 2022-06-07 08:46:15 -04:00
Ayaz Hafiz
d8888fc696
Bookkeeping for unspecialized lambda sets 2022-06-07 08:46:15 -04:00
Ayaz Hafiz
feea727697
Introduce unspecialized lambda sets to Content::LambdaSet 2022-06-07 08:46:13 -04:00
Folkert
074834d218
just one metadata allocation 2022-06-06 21:01:48 +02:00
Folkert
41e3504779
remove unneeded function 2022-06-06 20:37:16 +02:00
Ayaz Hafiz
c17525aa4d
Differentiate type variables with the same rigid name during pretty-printing 2022-06-04 15:29:52 -05:00
Ayaz
9f6da8df53
Merge pull request #3162 from rtfeldman/remove-ena
remove ena dependency
2022-06-03 13:56:03 -05:00
Folkert de Vries
84970f3c74
Merge pull request #3169 from rtfeldman/unspecialized-lambda-set
Add Type::UnspecializedLambdaSet variant
2022-06-03 18:43:00 +02:00
Folkert
d4efd0d167
fix merge conflict 2022-06-03 18:18:53 +02:00
Folkert
fd233764c2
Merge remote-tracking branch 'origin/trunk' into remove-ena 2022-06-03 18:16:19 +02:00
Ayaz Hafiz
fd08918ef9
Simplify mut iter 2022-06-03 10:28:48 -05:00
Ayaz Hafiz
09ac1d7555
clippy 2022-06-02 16:06:56 -05:00
Folkert de Vries
c436ac98e2
Merge pull request #3167 from rtfeldman/no-more-tagname
Remove TagName on the front end
2022-06-02 22:52:08 +02:00
Ayaz Hafiz
fe85cdc3c2
Remove Subs::restore
Looks like this is unneeded. One less large type walker to update
2022-06-02 12:28:02 -05:00
Ayaz Hafiz
7ed1cf2459
Use a nested variant to represent unspecialized lambda sets
We'll reuse this in subs
2022-06-02 12:09:13 -05:00
Folkert
b76fc123d0
Merge remote-tracking branch 'origin/trunk' into remove-ena 2022-06-02 18:29:20 +02:00
Ayaz Hafiz
42614d30ed
Add test for instantiating unspecialized lambda sets 2022-06-02 11:24:41 -05:00
Ayaz Hafiz
3cd60e15d0
Add instantiation of unspecialized lambda sets for abilities 2022-06-02 11:01:27 -05:00
Ayaz Hafiz
af38860f07
Add Type::UnspecializedLambdaSet variant 2022-06-02 10:12:44 -05:00
Ayaz Hafiz
873271b02d
Remove unused impl 2022-06-02 09:44:39 -05:00
Ayaz Hafiz
7421e444b1
Remove unnecessary SubsFmtContent 2022-06-02 09:44:38 -05:00
Ayaz Hafiz
bde107da49
Remove TagName in favor of explicit TagName or Closure
Note that we still need a `TagOrClosure` enum for phases past mono, but
at least we get rid of the branches in the front end.
2022-06-02 09:44:34 -05:00
Ayaz Hafiz
2c62f9b5ba
s/occurence/occurrence 2022-06-01 13:18:55 -05:00
Ayaz Hafiz
5b7f4ef5ec
Clippy 2022-06-01 13:18:55 -05:00
Ayaz Hafiz
0fa4aa8cbd
Simplify maybe_mark_union_recursive 2022-06-01 13:18:55 -05:00