Commit Graph

649 Commits

Author SHA1 Message Date
Ayaz
d485869954
Merge pull request #3039 from rtfeldman/specializations-at-the-front
Opportunistically resolve specializations during solving
2022-05-11 13:42:19 -04:00
Ayaz Hafiz
eca069bb4a
Test static specializations 2022-05-11 08:53:41 -04:00
Ayaz Hafiz
da00c47102
Opportunistically resolve specializations during solving 2022-05-11 08:53:15 -04:00
Richard Feldman
49bf36ec09
Merge remote-tracking branch 'origin/trunk' into clippy-for-tests 2022-05-10 19:27:45 -04:00
Richard Feldman
11e2faa87a
Merge pull request #3050 from rtfeldman/bindgen-tag-payloads
Bindgen single-tag unions
2022-05-10 19:27:25 -04:00
Richard Feldman
fd40fed937
Fix a bunch of errors from clippy --tests 2022-05-10 15:21:48 -04:00
Ayaz Hafiz
a9507cf917
Consolidate variable pretty printing 2022-05-10 11:24:41 -04:00
Ayaz Hafiz
3de35f7aa2
Loosen recursion var rank restriction in presence of errors 2022-05-10 11:15:21 -04:00
Ayaz Hafiz
3497237c99
Print recursion vars correctly 2022-05-10 10:40:37 -04:00
Ayaz Hafiz
7306e131b9
Add test for resolved issue
Closes #2371
2022-05-10 09:42:35 -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
d0bd08dbe0 Typo 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
13884c4ce6 Fix solve test 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
85b3110bea Typecheck decoder 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
025d501cfd Determine ability specializations before walking a body 2022-05-08 15:08:17 -04:00
Ayaz Hafiz
f48792a173 Add encoder tests 2022-05-08 15:08:16 -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
Ayaz Hafiz
45134a547d Update solve test 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c67bc5a8d6 Remove when-related changes 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
b5efd830e5 Solve and gen ability members that bind other able variables 2022-05-08 15:07:27 -04:00
Mfon Eti-mfon
9068c2414e
Rename float functions and vars 2022-05-08 18:42:12 +01: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
Richard Feldman
5f7ef4c105
Merge pull request #3018 from rtfeldman/generalize-reduce-allocation
Generalize reduce allocation
2022-05-07 16:28:17 -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
7e234d4550
Instantiate aliases in delayed alias args 2022-05-06 16:04:47 -04: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
Ayaz
98a3523702
Merge pull request #2961 from rtfeldman/improved-identids
Improved identids
2022-04-27 10:11:06 -04:00
Folkert
d18c46550f
fix test building 2022-04-27 01:28:31 +02: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