Richard Feldman
11e2faa87a
Merge pull request #3050 from rtfeldman/bindgen-tag-payloads
...
Bindgen single-tag unions
2022-05-10 19:27:25 -04:00
Ayaz Hafiz
3de35f7aa2
Loosen recursion var rank restriction in presence of errors
2022-05-10 11:15:21 -04:00
Richard Feldman
2db527888b
Drop unnecessary parens
2022-05-09 22:31:29 -04:00
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac
2022-05-08 20:54:33 -04:00
Ayaz Hafiz
2cacda00eb
Add some internal error assertions
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
b3845c21bd
Print able type variables correctly
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
154b17d9f0
Correct instantiation of delayed opaques
...
I didn't realize that delayed instantiation of aliases instantiates
their real var, not the whole alias type. So prior to this, we were
wrapping all opaques in a structural `Alias(..)`. Which is okay from a
typechecking perspective because Aliases are transparent, but is
wasteful.
2022-05-08 15:08:19 -04:00
Ayaz Hafiz
c1b1f60630
Coupon cutting
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
a242a90416
Stale comment
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
2e57bf0b6a
Permit able variables in aliases, and thread them through
2022-05-08 15:08:14 -04:00
Mfon Eti-mfon
85c622b169
Update symbols definition
2022-05-08 15:54:34 +01:00
Ayaz Hafiz
af3a677f12
Correct instantiation of delayed opaques
...
I didn't realize that delayed instantiation of aliases instantiates
their real var, not the whole alias type. So prior to this, we were
wrapping all opaques in a structural `Alias(..)`. Which is okay from a
typechecking perspective because Aliases are transparent, but is
wasteful.
2022-05-07 16:50:14 -04:00
Folkert
fa3eff6515
re-use a vector that already has a good capacity
2022-05-07 13:21:23 +02:00
Folkert
c308276c22
remove a to_vec() call
2022-05-07 13:20:53 +02:00
Ayaz Hafiz
a760510be0
Consolidate and improve debug_flags
2022-05-05 12:06:16 -04:00
Richard Feldman
0f1e1d7659
Don't pass around an unnecessary Env
2022-05-04 21:36:47 -04:00
Ayaz
56935407b2
Merge pull request #2974 from rtfeldman/opt-opaque-metadata
...
Delay opaque instantiation, remove unnecessary Lowercase in Type
2022-04-30 18:10:45 -04:00
Ayaz Hafiz
3411a4b266
Simplify
2022-04-29 17:49:40 -04:00
Ayaz Hafiz
fe28d1554b
Only assert that rigids are introduced at given rank behind flag
...
Closes #2489
2022-04-29 16:26:10 -04:00
Ayaz Hafiz
7d3f02d0e1
Unnecessary clone
2022-04-29 12:18:48 -04:00
Ayaz Hafiz
83c6c3a17d
Remove Lowercase from Alias and Opaque
2022-04-29 11:36:31 -04:00
Ayaz Hafiz
452b882f12
Remove unused alias types
2022-04-29 11:04:15 -04:00
Ayaz Hafiz
c225515a1b
Get rid of variable name on DelayedAlias
2022-04-29 10:55:29 -04:00
Ayaz Hafiz
2e62fba7bc
Delay instantiation of opaque types
2022-04-29 10:44:33 -04:00
Ayaz Hafiz
9dac9e4bc2
Coalesce
2022-04-28 20:34:03 -04:00
Ayaz Hafiz
51c8702820
Smarter marks
2022-04-28 20:33:48 -04:00
Ayaz Hafiz
2f1306afd1
Redundant and exhaustive marks in mono
2022-04-28 20:33:48 -04:00
Ayaz Hafiz
98869b557d
Exhaustive and redundant marks
2022-04-28 20:33:48 -04:00
Richard Feldman
6da39aa296
Merge pull request #2917 from rtfeldman/move-exhaustiveness-checking
...
Moves exhaustiveness checking to type solving phase
2022-04-25 20:55:05 -04:00
Ayaz Hafiz
19233e08c2
Consolidate IsOpen solve
2022-04-25 19:04:10 -04:00
Ayaz Hafiz
1de67fe19a
Nested Eq constraint in Exhaustive behind SoA
2022-04-25 19:04:09 -04:00
Ayaz Hafiz
17e7b10267
Fought against clippy and lost
2022-04-25 19:04:09 -04:00
Ayaz Hafiz
372b12bec9
Typo
2022-04-25 19:04:09 -04:00
Ayaz Hafiz
85e3373d8b
Move exhaustiveness checking to type checking
2022-04-25 19:04:09 -04:00
Ayaz Hafiz
356616d834
Move exhaustiveness checking to type solving phase with solve tests
2022-04-25 19:04:08 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag"
2022-04-25 17:04:34 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques
2022-04-25 10:59:42 -04:00
Ayaz Hafiz
87245def0a
Clippy vs McGregor 2047
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
188bd33f1f
Make sure we only open up closed tag unions
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
504c3f9b49
Delay add "is open" constraint until we know a type variable
2022-04-23 10:56:53 -04:00
Ayaz Hafiz
115cd2ba75
IsOpen constraints should always open up all nested tag unions
2022-04-23 10:56:52 -04:00
Folkert
8b144c446d
remove PartialEq for a bunch of types that we should not compare
2022-04-20 16:58:30 +02:00
Ayaz Hafiz
ceea194db4
Make sure "is open" constraints add flex vars at the right rank
2022-04-18 12:56:22 -04:00
Ayaz Hafiz
b79b351136
The first ability... compiles
2022-04-14 16:50:41 -04:00
Ayaz Hafiz
6b4294307f
Start saving ability signature on designated variable again
2022-04-14 16:22:54 -04:00
Ayaz Hafiz
d630562d99
forgive me clippy
2022-04-13 15:30:02 -04:00
Ayaz Hafiz
8eec930260
More and smarter checking and error reporting for abilities
2022-04-13 15:25:19 -04:00
Ayaz Hafiz
25b3aa7ca7
Typed body specializations solve
2022-04-13 10:42:46 -04:00
Ayaz Hafiz
a1c1dc1a9f
Ask rustc to please always inline
2022-04-13 08:49:27 -04:00
Ayaz Hafiz
0336b6ad27
Clippy
2022-04-12 19:02:58 -04:00