Commit graph

688 commits

Author SHA1 Message Date
Richard Feldman
4eec34becf
Update to use new square brace formatting 2022-05-22 23:15:54 -04:00
Folkert
98ce9f4d09
remove the snapshots 2022-05-21 20:42:19 +02:00
Folkert de Vries
feaf53371f
Merge pull request #3113 from rtfeldman/new-utable-copy
New utable variable copy
2022-05-21 18:17:56 +02:00
Richard Feldman
3cdaa52a30
Merge pull request #3110 from rtfeldman/handcrafted-unification-table
Handcrafted unification table
2022-05-21 11:39:58 -04:00
Folkert
722ae9da6b
pass along the specific pool we're adding to 2022-05-21 14:48:45 +02:00
Folkert
1814a69c30
remove closure that is used once 2022-05-21 14:42:48 +02:00
Folkert
8c44661bc2
use set_content_unchecked; replace modify with a single set 2022-05-21 14:06:43 +02:00
Folkert
f1e1c45f2f
some more unchecked operations 2022-05-21 13:52:44 +02:00
Folkert
a1894195d3
refactoring trivial copy detection 2022-05-21 13:48:28 +02:00
Ayaz Hafiz
4a77ce9eca
<clip> 2022-05-20 17:47:21 -04:00
Ayaz Hafiz
ababfa4129
Use two caches instead of a unified one for obligation checking 2022-05-20 17:39:09 -04:00
Folkert
a705d6a6e8
unchecked in making the rank table 2022-05-20 23:28:56 +02:00
Folkert
e20ac3f38f
use unchecked operations in generalization 2022-05-20 23:18:27 +02:00
Folkert
d291a87945
more efficient use of Subs api 2022-05-20 22:55:00 +02:00
Ayaz Hafiz
a4c122d5db
Validate derives clauses after solving 2022-05-20 15:56:55 -04:00
Folkert
4550f3fa88
update deep_copy_var_help 2022-05-20 21:44:46 +02:00
Folkert
be104d25eb
update instantiate rigid 2022-05-20 21:36:05 +02:00
Folkert
f2deb37a30
update instantiate rigid 2022-05-20 21:18:52 +02:00
Folkert
dc155ea95a
update generalize 2022-05-20 21:05:17 +02:00
Folkert
4489a308e4
use modify over getting a mutable reference 2022-05-20 21:02:53 +02:00
Ayaz
eb706d2863
Merge pull request #3100 from rtfeldman/solve-copy-sequence
use macro in copy_var to clean up logic
2022-05-20 08:50:42 -04:00
Folkert
9d21343227
use macro to clean logic up a bit 2022-05-20 10:29:41 +02:00
Ayaz Hafiz
768121e431
Don't allocate for missing or existing members by default
- Missing members are zero in the happy case
- Existing members will always be populated in the happy case, but I
  don't think they improve the error message, so just get rid of it.
2022-05-19 18:25:42 -04:00
Ayaz Hafiz
b03e713b7f
Clippy 2022-05-19 18:23:03 -04:00
Ayaz Hafiz
95e325296f
Solve derived impls 2022-05-19 18:23:02 -04:00
Ayaz Hafiz
cf56b5015a
Fix existing reporting tests 2022-05-19 18:23:02 -04:00
Ayaz Hafiz
2c87214b44
Check derivability of abilities for structural types 2022-05-19 18:23:02 -04:00
Ayaz Hafiz
0e63efdf09
Scaffold tests 2022-05-19 18:23:02 -04:00
Ayaz Hafiz
4dede6e570
Simplify instantiate aliases 2022-05-19 18:21:45 -04:00
Ayaz Hafiz
253cca63ea
Add solve test 2022-05-19 18:21:43 -04:00
Ayaz Hafiz
0f4be93e44
Add JSON builtin, pass along solved specializations per module 2022-05-19 18:21:40 -04:00
Ayaz Hafiz
312cdd0b70
Correct imports of Encode and abilities across modules 2022-05-19 18:21:40 -04:00
Richard Feldman
9c72e5e8ed
Remove unnecessary -> () function return types 2022-05-18 08:29:40 -04:00
Anton-4
0f59f3097a
cargo fix --edition 2022-05-16 17:04:17 +02:00
Richard Feldman
9bc1e320dc
Fix --release warnings 2022-05-15 21:50:49 -04:00
Folkert
c161140aec
Merge remote-tracking branch 'origin/trunk' into more-tyck 2022-05-14 14:48:54 +02:00
Folkert
7face320eb
move back to one loc_symbols vector 2022-05-14 14:44:37 +02:00
Ayaz Hafiz
697f5f7a86
Check in ignored tests 2022-05-11 18:12:37 -04:00
Ayaz Hafiz
710a10a29c
Check for invalid cycles after type solving recursive defs
Disallow cycles that pass through a non-function value. Since we
evaluate eagerly, having one such cycle means there is at least one path
in the program that (likely) has unbounded recursion. Of course we can't
be certain (halting problem), but it's very likely, and avoids stuff
like #1926. Also, mono (as it's done today) won't work if things in a
cycle aren't functions.

Closes #1926
2022-05-11 14:57:01 -04:00
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