Skip to content

Fix list assignment with undef placeholders#127

Merged
fglock merged 2 commits intomasterfrom
fix-aassign-undef-lvalue
Jan 14, 2026
Merged

Fix list assignment with undef placeholders#127
fglock merged 2 commits intomasterfrom
fix-aassign-undef-lvalue

Conversation

@fglock
Copy link
Copy Markdown
Owner

@fglock fglock commented Jan 14, 2026

Fixes list assignment semantics when the LHS contains placeholders.

This restores behavior needed by perl5_t/t/op/aassign.t:

  • "undef as lvalue" (test 176)
  • GH #17816 (test 188)
  • GH #16685 (test 189)

Approach:

  • Preserve RHS aliases before consuming the RHS list.
  • For placeholders on the LHS, return an RHS alias when safe, otherwise return the pre-assignment RHS value.
  • Ensure placeholders still contribute to the returned list length.

@fglock fglock merged commit 64f5ab1 into master Jan 14, 2026
2 checks passed
@fglock fglock deleted the fix-aassign-undef-lvalue branch January 14, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant