Richard Feldman
79a08d5d0f
Fix List.get with method syntax causing cycle in layout computation
...
When calling List.get with method syntax (my_list.get(0)), the
interpreter was causing a cycle in layout computation because rigid
type variables weren't being properly resolved.
The fix unifies the method's first parameter type with a copy of the
receiver type before instantiation. This properly resolves rigid type
variables (like `item` in List.get) to concrete types. A copy of the
receiver type is created before unification to avoid corrupting the
original type, since unification modifies both sides.
This is the same approach used for no-args method dispatch (like
List.first), but with the additional copy step needed because the
multi-args path may reuse types across multiple method invocations.
Fixes #8662
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 15:43:09 -05:00
Anton-4
aa2e1b80cd
All roc syntax test ( #8622 )
...
* added all_roc_syntax_test
* fmt + test
* full test
---------
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2025-12-12 18:07:03 +01:00
Richard Feldman
f8fbc2932d
Merge pull request #8651 from roc-lang/list-join-with
...
Add `List.join_with`
2025-12-12 11:38:12 -05:00
Richard Feldman
9cd58ee4ab
Merge pull request #8649 from roc-lang/fix-double-decref
...
Fix double-decref
2025-12-12 10:05:53 -05:00
Richard Feldman
6efd449282
Add List.join_with with type var alias dispatch
2025-12-12 09:21:52 -05:00
Richard Feldman
dce64de490
Merge pull request #8639 from roc-lang/expand-type-var-alias
...
Add test case for type var alias
2025-12-12 09:04:13 -05:00
Richard Feldman
fae5ddbbe3
Fix double-decref bug in binop_apply and unary_op_apply
...
When handling low-level lambdas (like Str.is_eq), the code was decrefing
arguments with borrow semantics, but the defer statements at the top of
these functions already handle decrefing. This caused a double-free when
comparing heap-allocated strings (24+ characters).
The fix removes the explicit decrefs in the low-level lambda paths since
the defer statements already handle cleanup.
2025-12-12 09:01:54 -05:00
Richard Feldman
e1019be2ef
Merge pull request #8627 from roc-lang/fix-another-aoc
...
Fix tag union handling
2025-12-12 07:09:54 -05:00
Anton-4
0608d4c338
Fix #8517 ( #8613 )
...
temp fix expect stack overflow
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2025-12-12 11:30:33 +01:00
Richard Feldman
f0cf4e2007
Merge origin/main into fix-another-aoc
...
Resolved merge conflicts in:
- src/cli/test/fx_test_specs.zig (combined test entries from both branches)
- test/snapshots/fuzz_crash/fuzz_crash_027.md (took main's error message format)
- test/snapshots/fuzz_crash/fuzz_crash_028.md (took main's error message format)
2025-12-11 23:18:39 -05:00
Richard Feldman
a6c2c30661
Merge pull request #8638 from roc-lang/fix-list-first-panic-8633
...
Fix List.first dispatch panic
2025-12-11 23:05:16 -05:00
Richard Feldman
857b5c27f7
Add from_str test case for type var alias
2025-12-11 23:04:39 -05:00
Richard Feldman
3947f718f6
Merge pull request #8636 from roc-lang/type-var-alias
...
Static dispatch on non-args
2025-12-11 22:51:48 -05:00
Richard Feldman
cdafc209b9
Merge origin/main into fix-list-first-panic-8633
...
Resolved conflict in fx_test_specs.zig by including both:
- list_append_stdin_uaf.roc test from main
- list_first_method.roc and list_first_function.roc regression tests from this branch
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 21:43:44 -05:00
Richard Feldman
2d863e9073
Fix panics
2025-12-11 21:13:15 -05:00
Richard Feldman
9a4bfebf20
Merge pull request #8635 from roc-lang/fix-refcount
...
Add a missing refcount
2025-12-11 17:25:20 -05:00
Richard Feldman
c99b06f2e5
Improve test coverage for type variable alias static dispatch
2025-12-11 16:37:13 -05:00
Richard Feldman
28d5ab5602
Implement type variable alias for static dispatch on type parameters
2025-12-11 16:37:12 -05:00
Richard Feldman
c7fd764eb3
Add snapshot test for type var alias static dispatch
2025-12-11 16:37:07 -05:00
Richard Feldman
0d2e91a998
Merge pull request #8632 from roc-lang/type-checker-stuff
...
Fix some more type checker error handling
2025-12-11 16:34:50 -05:00
Richard Feldman
a3d68dbc37
Add a missing refcount
2025-12-11 16:32:07 -05:00
Richard Feldman
fd874201b3
More occurs fixes
2025-12-11 15:25:50 -05:00
Richard Feldman
f92d84323e
Fix tests
2025-12-11 11:49:45 -05:00
Richard Feldman
ca1a1fa5a6
Fix tag union handling
2025-12-11 11:46:15 -05:00
Richard Feldman
530b213843
Fix some more type checker issues
2025-12-11 07:57:17 -05:00
Luke Boswell
2c1a3f15ed
Merge remote-tracking branch 'remote/main' into build-static-lib
2025-12-11 15:40:26 +11:00
Richard Feldman
7efcc6ab59
Fix rank unification bug
2025-12-10 20:13:20 -05:00
Luke Boswell
b03c1457ea
remove stray test files
2025-12-11 11:22:08 +11:00
Luke Boswell
c31209f615
big cleanup
2025-12-11 11:20:08 +11:00
Luke Boswell
22b1ffce82
Merge remote-tracking branch 'remote/main' into build-static-lib
2025-12-11 09:05:01 +11:00
Luke Boswell
da6a25f5b4
Delete DEBUG_SUMMARY.md
2025-12-11 08:40:44 +11:00
Luke Boswell
85289d6580
WIP -- bug hunting
2025-12-11 07:32:29 +11:00
Richard Feldman
d91a8aa534
Add lint for no // ======= comments
2025-12-10 15:31:53 -05:00
Richard Feldman
b60aa9a30f
Merge pull request #8614 from roc-lang/fix-more-can-stuff
...
Fix more can stuff
2025-12-10 14:02:20 -05:00
Richard Feldman
7cbb76b776
Delete redundant tests
2025-12-10 13:00:30 -05:00
Richard Feldman
2f6fe8867c
Fix fold_rev static dispatch bug
2025-12-10 12:58:45 -05:00
Richard Feldman
6d6f8ab9f6
Merge remote-tracking branch 'origin/main' into fix-more-can-stuff
2025-12-10 12:47:42 -05:00
Richard Feldman
7979b38925
Fix serialization size
2025-12-10 12:47:34 -05:00
Richard Feldman
a8eb52501e
Merge pull request #8617 from roc-lang/fix-index-oob
...
Fix index out of bounds panic
2025-12-10 10:57:33 -05:00
Richard Feldman
002ad6a1ea
Merge pull request #8611 from roc-lang/fix-more-type-stuff
...
Support record extensions better
2025-12-10 07:55:38 -05:00
Luke Boswell
38c474176c
initial implementation
2025-12-10 15:37:13 +11:00
Richard Feldman
7c3579d4b9
Add doc comment and update snapshots for parser changes
2025-12-09 22:34:16 -05:00
Richard Feldman
d86b85e99f
Reproduce index out of bounds crash
2025-12-09 22:26:11 -05:00
Richard Feldman
9bbc8e5291
Fix some canonicalization import issues
2025-12-09 22:05:46 -05:00
Richard Feldman
9226337fcc
Support record extension syntax
2025-12-09 21:48:56 -05:00
Richard Feldman
a5c2cade63
Merge origin/main
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 21:43:42 -05:00
Richard Feldman
0f975ccbb0
Merge pull request #8609 from roc-lang/fix-inspect-crash
...
Replace `inspect` with `Str.inspect`
2025-12-09 21:41:18 -05:00
Richard Feldman
1301587cdf
Support inline record type declarations
2025-12-09 21:05:41 -05:00
Richard Feldman
27d15c104c
Remove inspect keyword and use Str.inspect instead
2025-12-09 20:43:26 -05:00
Richard Feldman
4bdaae210d
Rename Str.inspekt to Str.inspect
...
(now that inspect is no longer a keyword)
2025-12-09 20:03:58 -05:00