Richard Feldman
fa2e0648ca
Fix wasm32 host filename generation
2022-11-18 16:47:29 -05:00
Richard Feldman
e4e629c4e4
clippy doesn't like Result with () for the error
2022-11-18 14:45:12 -05:00
Richard Feldman
ebc314691c
Fix Swift linking
2022-11-18 14:26:04 -05:00
Richard Feldman
b80d92e344
Use legacy_host_filename instead of always host.o
2022-11-18 14:15:48 -05:00
Brian Carroll
c16d425936
Merge branch 'main' of github.com:roc-lang/roc into wasm_module_crate
2022-11-17 21:29:59 +00:00
Brian Carroll
29baa45774
debug generated linker data for Roc->JS calls
2022-11-17 21:26:33 +00:00
Ayaz
a74d7e14b7
Merge branch 'main' into i4416
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2022-11-17 09:07:00 -06:00
Ayaz Hafiz
48c0921cd2
Fix off by one conditional
2022-11-16 19:15:22 -06:00
Ayaz Hafiz
b43078440f
Ensure ability-bound variables are registered in their generalization pool
...
When we attempt to bind a type argument to an ability in an alias/opaque
instantiation, we create a fresh flex var to represent satisfaction of
the ability, and then unify the type argument with that flex var.
Previously, we did not register this fresh var in the appropriate rank
pool.
Usually this is not a problem; however, our generalization algorithm is
such that we skip adjusting the rank of redundant variables. Redundant
variables are those that are in the same unification tree, but are not
the root of the unification trees.
This means that if such a flex able var becomes the root of a
unification tree with the type argument, and the type argument is itself
generalized, we will have missed generalization of the argument.
The fix is simple - make sure to register the flex able var into the
appropriate rank pool.
Closes #4408
2022-11-16 17:09:47 -06:00
Ayaz Hafiz
716c4cb8e4
Print rigid name in debug representation
2022-11-16 17:09:31 -06:00
Richard Feldman
36178b5f59
REVERT ME - add some debug info
2022-11-16 17:07:04 -05:00
Richard Feldman
58e672749c
Fix glue getter name synchronization
2022-11-16 17:06:21 -05:00
Brian Carroll
ba99870de0
minor tweaks
2022-11-16 21:25:16 +00:00
Ayaz Hafiz
b8ff9f7b19
Simplify debug flag check
2022-11-16 14:15:16 -06:00
Ayaz Hafiz
76a3e92088
Fix debug flags for release mode
2022-11-16 14:05:53 -06:00
Ayaz Hafiz
a8b55dc794
Admit occurs check under recursive tag unions when programs have type errors
2022-11-16 14:05:53 -06:00
Ayaz Hafiz
735685dd86
Include error vars in is_recursion_var checks
2022-11-16 14:05:53 -06:00
Ayaz Hafiz
bef9b54124
Avoid parsing doc comments as code
2022-11-16 14:05:53 -06:00
Ayaz Hafiz
f7bc3148ae
Address lints
2022-11-16 14:05:53 -06:00
Ayaz Hafiz
08eda910ef
Add gen test for #4077
2022-11-16 14:05:52 -06:00
Ayaz Hafiz
972e531431
Check in solve test
...
Closes #4077
2022-11-16 14:05:52 -06:00
Ayaz Hafiz
ce5ca4a93c
Mark emplace_variable as must_use
2022-11-16 14:05:52 -06:00
Ayaz Hafiz
33a9c39cfd
Update gen tests that have changed due to emplacement
2022-11-16 14:05:52 -06:00
Ayaz Hafiz
0a9a20a53c
Correct emplace variables in type indices during translation
...
Prior to this commit, we emplace type variables into `Index<TypeTag>`
only for translated top-level types. However, we need to be careful to
do this emplacement for nested types as well! This patch ensures we do,
but immediately emplacing the destination variable of a type when we
allocate a variable for it.
2022-11-16 14:05:52 -06:00
Ayaz Hafiz
2cba520839
Document fixpoint fixing algorithm
2022-11-16 14:05:51 -06:00
Ayaz Hafiz
8414c8e2de
Remove unneeded comments
2022-11-16 14:05:51 -06:00
Ayaz Hafiz
27c2bd025d
Remove debug_assertions requirement
2022-11-16 14:05:51 -06:00
Ayaz Hafiz
5a92947326
Use fixpoint-fixing in unification
2022-11-16 14:05:51 -06:00
Ayaz Hafiz
9a7402f40b
Add Subs.dbg
2022-11-16 14:05:51 -06:00
Ayaz Hafiz
3c968b581d
Check in fixpoint-fixing algorithm
2022-11-16 14:05:51 -06:00
Ayaz Hafiz
6d0c42d480
Add retain
to VecSet
2022-11-16 14:05:50 -06:00
Ayaz Hafiz
60178f14e4
Remove redundant signature index
2022-11-16 14:05:50 -06:00
Ayaz Hafiz
f7e0383058
Drop dead reference
2022-11-16 13:59:11 -06:00
Ayaz Hafiz
9c8a4ec027
Choose hash implementation for ranged number based on default width
...
Closes #4416
2022-11-16 13:57:03 -06:00
Ayaz Hafiz
3305041316
Add Debug derives in lambda set compaction
2022-11-16 13:55:15 -06:00
Ayaz Hafiz
af81ceae38
Add method to grab default compilation width of a number
2022-11-16 13:54:48 -06:00
Folkert
c9d1401738
generate correct glue mono IR procs for tag unions
2022-11-16 20:28:26 +01:00
Richard Feldman
53ab17d0e9
contains_functions -> has_varying_stack_size
2022-11-16 13:55:06 -05:00
Folkert de Vries
0920fb4227
Merge pull request #4508 from roc-lang/windows-final-cli-tests
...
Windows final cli tests
2022-11-16 18:21:49 +01:00
Richard Feldman
70c949c50b
Handle field layouts for more than just structs
2022-11-16 11:22:00 -05:00
Richard Feldman
b44f76f500
Use from_iter_in
2022-11-16 11:21:50 -05:00
Anton-4
5a447a9fcc
Merge branch 'main' of https://github.com/roc-lang/roc into windows-final-cli-tests
2022-11-16 13:58:17 +01:00
Anton-4
b681949461
clippy+fmt
2022-11-16 13:55:58 +01:00
Anton-4
e9d8d13b02
windows fixes, error improvements
2022-11-16 13:55:58 +01:00
Folkert de Vries
1976174a46
Merge pull request #4530 from roc-lang/fast-occurs-check
...
Use thread-local buffer for occurs check seen variables
2022-11-16 13:10:12 +01:00
Brian Carroll
e57ca0aa12
Remove "Roc host" specifics from Wasm dead code elimination
2022-11-16 08:07:22 +00:00
Joshua Warner
be42668202
Merge pull request #4519 from joshuawarner32/fix-fmt
...
Add fmt test to make sure formatting works for all parser test cases
2022-11-15 19:39:18 -08:00
Ayaz
53a2d683e6
Merge pull request #4526 from roc-lang/reset-reuse-morphic-v2
2022-11-15 19:06:15 -06:00
Joshua Warner
36f0e9d4f5
Add test for multiline tuple with comments
2022-11-15 19:51:02 -05:00
Joshua Warner
d4bf946327
Assert formatting for parse tests
2022-11-15 19:47:28 -05:00