Richard Feldman
122a1d57a0
Merge remote-tracking branch 'origin/trunk' into sqrt-unchecked
2022-04-23 15:40:30 -04:00
Richard Feldman
adb3c3ca2a
Revert breakout back to a working state.
...
This should be un-reverted when enough compiler bugs are fixed
that it can run again!
2022-04-23 15:35:55 -04:00
Richard Feldman
ed336af17b
Test roc build
on breakout example
2022-04-23 15:34:28 -04:00
Richard Feldman
af213d266c
Merge remote-tracking branch 'origin/trunk' into breakout
2022-04-23 15:33:01 -04:00
Richard Feldman
04f2ad914e
Merge pull request #2923 from rtfeldman/bugfix-opaques-codegen
...
Reuse symbol when opaque type wraps a known symbol
2022-04-23 15:32:24 -04:00
Folkert
ea15203ff9
clarify
2022-04-23 21:20:49 +02:00
Folkert
44c08779c3
simplify pattern match
2022-04-23 21:19:24 +02:00
Folkert
4668cf506b
be smarter about returning References
2022-04-23 21:15:54 +02:00
Folkert
9866feeb5d
stop putting the references into the env.closures map with the def name
2022-04-23 21:01:50 +02:00
Folkert
a4ea4acacf
pass closure references along via TempOutput
2022-04-23 20:59:34 +02:00
Folkert
8936cb9463
remove use of env.closures in later steps
2022-04-23 20:46:26 +02:00
Folkert
29493d2fd0
use matrix-based recursivity check
2022-04-23 20:43:08 +02:00
Folkert
31fc223517
add recursivity checker
2022-04-23 20:42:41 +02:00
Ayaz Hafiz
5d1dd81e93
Reuse symbol when opaque type wraps a known symbol
...
Opaques decay immediately into their argument during codegen, so we need
to handle something that's effectively variable aliasing correctly.
This bug popped up while migrating all current private tags to opaques.
2022-04-23 14:37:52 -04:00
Folkert
9bc00321b6
cleanup
2022-04-23 20:08:04 +02:00
Folkert
f7d604f3ef
move def ordering creation into canonicalize_defs
2022-04-23 20:06:05 +02:00
Folkert
bf4462c79a
consider _ = someDef
definitions, where there is no symbol
2022-04-23 19:16:06 +02:00
Ayaz
b417cc6c18
Merge pull request #2820 from rtfeldman/i/2810
...
Deal with recursive pointers that pass through non-recursive layouts
2022-04-23 11:25:21 -04:00
Folkert
002327e275
don't clone the defs
2022-04-23 17:14:02 +02:00
Ayaz Hafiz
6422c55899
Fix mono test
2022-04-23 10:57:31 -04:00
Ayaz Hafiz
27a421fce6
Fix reporting test
2022-04-23 10:57:30 -04:00
Ayaz Hafiz
5ebae63c0f
Fix mono test
2022-04-23 10:57:30 -04:00
Ayaz Hafiz
c624969286
Turn repl test back on
2022-04-23 10:57:29 -04:00
Folkert
5840693743
use vectors instead of maps
2022-04-23 16:57:28 +02:00
Ayaz Hafiz
9a341e3d75
Improve non-exhaustive typechecking errors
...
We will replace this with proper exhaustiveness checking when we have
that in the typechecking phase, but for now this should do.
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
87245def0a
Clippy vs McGregor 2047
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
935a484c71
Fix compile error
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
435781aa5b
Static assertions that certain types implement Copy
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
633bdd5520
Fix failing reporting tests
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
101ce7c6e8
Disable mono test for now
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
44aa1fca1c
s/constriants/constraints/g
2022-04-23 10:56:53 -04:00
Ayaz Hafiz
fd5b682e48
Disable reporting tests for CI checking
2022-04-23 10:56:53 -04:00
Ayaz Hafiz
627d73e4c0
Clippy
2022-04-23 10:56:53 -04:00
Ayaz Hafiz
7c0c0ef02a
Add test from #2899
2022-04-23 10:56:53 -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
7b2b41869f
Add a way to view solved types of arbitrary expressions/patterns in a program
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
7b37727175
cleanup the old implementation
2022-04-23 16:13:26 +02:00
Folkert
7042584559
clippy
2022-04-23 15:34:24 +02:00
Folkert
32edd55d3d
sanity check
2022-04-23 15:32:15 +02:00
Folkert
2037133882
refactor how global defs are registered
2022-04-23 13:49:14 +02:00
Folkert
c396ad6705
set up a def order (unpopulated for now)
2022-04-23 13:36:47 +02:00
Folkert
890bec1b0c
refactor
2022-04-23 13:17:58 +02:00
Ayaz Hafiz
3eb7824c7a
Typos
2022-04-22 17:57:02 -04:00
Ayaz Hafiz
bb06bcd7f1
Fix compile error
2022-04-22 17:57:02 -04:00
ayazhafiz
939f413569
Don't try to fix recursion vars if there are other errors
2022-04-22 17:57:02 -04:00
Ayaz Hafiz
1e1ffb2f62
Bugfix use root var
2022-04-22 17:57:01 -04:00
Ayaz Hafiz
5dfe44c72d
Render nullable wrapped tag unions that pass through aliases
2022-04-22 17:57:01 -04:00
Ayaz
3906c5c200
Clippy
2022-04-22 17:57:01 -04:00