Commit graph

4827 commits

Author SHA1 Message Date
Richard Feldman
b80d92e344
Use legacy_host_filename instead of always host.o 2022-11-18 14:15:48 -05:00
Richard Feldman
e2b6d93096
Use debug_assert_eq! instead of debug_assert! 2022-11-18 14:01:51 -05:00
Ayaz Hafiz
bbaa9299f1
Update cli tests 2022-11-17 17:21:38 -06: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
2836e0a9e9
Merge pull request #4534 from roc-lang/fix-able-binding-variables-behind-aliases
Ensure ability-bound variables are registered in their generalization pool
2022-11-17 07:45:49 -06:00
Richard Feldman
a8ee5b7cbf
Merge pull request #4537 from roc-lang/output-tweaks
Reporting tweaks
2022-11-17 08:28:57 -05:00
Brian Carroll
24e6e8445d
Remove the trick of pushing an extra N+1 entry to function_offsets. It's bug-prone. 2022-11-17 07:49:38 +00:00
Richard Feldman
6c4e2c8738
Revise wording on unnecessary wildcard warning
My concern with the previous wording is that:
- Beginners will be confused by "these are always open"
- Users advanced enough to understand what that actually means won't benefit from seeing it in this warning message!
2022-11-16 23:18:51 -05:00
Richard Feldman
2f54e46909
Add a blank line after failed inline expectations 2022-11-16 23:11:05 -05:00
Richard Feldman
1e4cf52fd4
Merge pull request #4504 from roc-lang/fix-styles
Fix some web styles
2022-11-16 21:53:05 -05:00
Ayaz Hafiz
fe0eacb70a
Propogate only_unseen phanton type count check 2022-11-16 19:46:54 -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
Brian Carroll
0c81063c68
Fix dummy function replacement 2022-11-16 21:25:53 +00:00
Brian Carroll
ba99870de0
minor tweaks 2022-11-16 21:25:16 +00:00
Ayaz Hafiz
b957e670e2
Fix cli run test 2022-11-16 14:54:06 -06:00
Brian Carroll
24cef94fb5
Fix Wasm dummy function 2022-11-16 20:34:38 +00:00
Ayaz Hafiz
b8ff9f7b19
Simplify debug flag check 2022-11-16 14:15:16 -06:00
Ayaz Hafiz
28768bcfba
Fix order of alias arg discovery 2022-11-16 14:05:53 -06:00
Ayaz Hafiz
cc677917a7
Fix typo 2022-11-16 14:05:53 -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
216a786d52
Make sure to count generated phantom type variables in error type 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
c529505aef
Disable cli/args test for now, but continue testing roc check on it
Args.roc has always been in a broken state, relying on particular
hand-holding of the compiler to operate. With recent changes to type
emplacement, Args.roc now shows off compiler bugs that cannot be papered
over and need to be addressed head-on. These are problems that I do not
think can be directly solved via eliminating type emplacement; I think
they are a combination of constraining and mono bugs, and will be
investigated separately.

For now, turn off attempts to build Args, and instead just test that
`roc check` continues to behave well.
2022-11-16 14:05:52 -06:00
Ayaz Hafiz
08eda910ef
Add gen test for #4077 2022-11-16 14:05:52 -06:00
Ayaz Hafiz
2a5864c19a
Update reporting tests 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 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
Anton-4
fba1dc2b80
ignore one more test 2022-11-16 13:58:21 +01:00