roc/test
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
..
cli Merge origin/main 2025-11-22 15:45:17 -05:00
fuzzing Don't special-case Str 2025-10-24 10:18:15 -04:00
fx Fix List.get with method syntax causing cycle in layout computation 2025-12-13 15:43:09 -05:00
fx-open Rename Str.inspekt to Str.inspect 2025-12-09 20:03:58 -05:00
int restore glibc CRT files we removed earlier 2025-12-09 15:29:24 +11:00
playground-integration Add lint for no // ======= comments 2025-12-10 15:31:53 -05:00
snapshots Merge pull request #8651 from roc-lang/list-join-with 2025-12-12 11:38:12 -05:00
str restore glibc CRT files we removed earlier 2025-12-09 15:29:24 +11:00
wasm remove stray test files 2025-12-11 11:22:08 +11:00
serialization_size_check.zig Fix serialization size 2025-12-10 12:47:34 -05:00