Commit graph

301 commits

Author SHA1 Message Date
Folkert
7b86a4b29e
optimize variable substitution in instantiate_rigids 2022-03-21 23:57:40 +01:00
hafiz
418e71e95c
Merge pull request #2755 from rtfeldman/dense-let-constraints
Constraint gen tweaks
2022-03-19 20:39:55 -04:00
Folkert
a1dbdf34d5
simplify empty let constraint 2022-03-19 23:41:56 +01:00
Folkert
a20a828ee1
refactor typed function constraint gen 2022-03-19 23:41:33 +01:00
Folkert
6aaef49aa7
don't create IsOpenType constraint for obvious non-types 2022-03-19 21:40:16 +01:00
Folkert
9b63e6a3a9
simplify IntroducedVariables 2022-03-18 23:47:39 +01:00
Folkert
b1612384c7
implement constrain crate 2022-03-17 19:17:52 +01:00
ayazhafiz
3da34fc843 Report unbound type variables in aliases, opaques
Closes #2726
2022-03-14 17:42:45 -05:00
Richard Feldman
422a88eced
Merge pull request #2722 from rtfeldman/various-bug-fixes
Various recently filed bug fixes
2022-03-13 22:18:39 -04:00
ayazhafiz
5670fe06cd Deal with destructuring tag unions behind opaques correctly
Closes #2702
2022-03-13 18:44:38 -05:00
Folkert
872d32652a
remove clone, yay 2022-03-13 22:58:16 +01:00
Folkert
f7ba9918fa
use equal_types_with_storage in opaque type constraining 2022-03-13 22:54:13 +01:00
Folkert
80af910c4f
use equal_types_with_storage in tag constraining 2022-03-13 22:53:22 +01:00
Folkert
7df4465a6e
use equal_types_with_storage in Lambda constraining 2022-03-13 22:47:25 +01:00
Folkert
f23945ad94
use equal_types_with_storage in record constraining 2022-03-13 22:47:07 +01:00
Folkert
e8bf5fa378
prevent clone for all function signatures 2022-03-13 22:35:56 +01:00
Folkert
97742b3238
clarify variable name 2022-03-13 17:59:44 +01:00
Folkert
61b4ee054a
rename function 2022-03-13 13:54:03 +01:00
Folkert
f97b10c6f3
clarify why builtins are skipped 2022-03-13 13:51:25 +01:00
Folkert
ed247c9da3
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs 2022-03-13 13:43:00 +01:00
Folkert
8b2c1707d4
don't even create a type if we only need a variable 2022-03-13 02:12:45 +01:00
Folkert
b3d9f9c2de
use EitherIndex<Type, Variable> to halve number of types stored 2022-03-13 01:46:49 +01:00
Folkert
e463afe0d9
comments on datastructures in module.rs 2022-03-12 13:43:26 +01:00
Folkert
49408d3a56
fix reporting tests 2022-03-11 22:56:29 +01:00
Folkert
26953c0420
move stdlib solved type usage to use site 2022-03-11 22:01:25 +01:00
Folkert
20ae9ff1e3
hollow out ConstrainableImports 2022-03-11 21:29:50 +01:00
Folkert
9333d0a0e0
remove solved types from ExposedModuleTypes 2022-03-11 21:06:12 +01:00
Folkert
18d7f32aa3
do nothing, prepare for refactor 2022-03-11 21:03:55 +01:00
Folkert
afcd176d58
clone storage subs less 2022-03-11 20:56:13 +01:00
Folkert
c79ecec56e
make SubsByModule opaque 2022-03-11 20:16:55 +01:00
Folkert
d4da4fed88
cleanup 2022-03-11 19:41:30 +01:00
Folkert
30e7d94c95
clarify old constraint gen is now just for the builtins 2022-03-11 19:25:42 +01:00
Folkert
aebb3a162e
it's alive! 2022-03-11 17:27:44 +01:00
Folkert
9054546d27
move things in place to go storage_subs -> subs 2022-03-11 10:49:22 +01:00
Folkert
973e3ac7ed
bring storage subs into solve again 2022-03-11 10:28:10 +01:00
Folkert
78f5526db3
add storage subs to ExposedModuleTypes 2022-03-11 10:15:33 +01: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
9f11245b22
add comment 2022-03-05 22:29:30 +01:00
Folkert
6380a9edf9
remove collection that went unused 2022-03-05 22:29:22 +01:00
Folkert
587c89e003
use empty array for empty DefTypes sequence 2022-03-05 21:51:20 +01:00
Folkert
6392e42166
prevent frequent expectation cloning 2022-03-05 21:32:22 +01:00
Folkert
53962a4799
mark infer variables as flex 2022-03-05 17:27:33 +01:00
Folkert
48b0bbe874
cleanup 2022-03-05 14:55:45 +01:00
Folkert
97b0e3df9b
more efficient approach for finding new rigids 2022-03-05 14:50:23 +01:00
Folkert
9302f2ca5e
partially revert to working state 2022-03-05 13:18:35 +01:00
ayazhafiz
e0aa246c5e Merge remote-tracking branch 'origin/trunk' into instantiate-rigids-speedup-again 2022-03-04 21:55:16 -05:00
Folkert
39c4b878e5
remove comment 2022-03-04 23:27:05 +01:00
Folkert
db06c10b5f
be smarter 2022-03-04 23:02:10 +01:00