summaryrefslogtreecommitdiff
path: root/lib/prism/translation/parser
diff options
context:
space:
mode:
authorEarlopain <[email protected]>2025-01-20 16:01:19 +0100
committerKevin Newton <[email protected]>2025-03-18 13:36:53 -0400
commite3c846463092da8a7533740f9960fd626c749305 (patch)
treeb1cd9ada9ccba9e0a2a3c8f752235dc9e99086a6 /lib/prism/translation/parser
parent94e12ffa39e46f5b1f80485e9b2e06a59cd69dac (diff)
[ruby/prism] Only unnest parser mlhs nodes when no rest argument is provided
``` (a,), = [] PARSER==================== s(:masgn, s(:mlhs, s(:mlhs, s(:lvasgn, :a))), s(:array)) PRISM==================== s(:masgn, s(:mlhs, s(:lvasgn, :a)), s(:array)) ``` https://github.com/ruby/prism/commit/8aa1f4690e
Diffstat (limited to 'lib/prism/translation/parser')
-rw-r--r--lib/prism/translation/parser/compiler.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/prism/translation/parser/compiler.rb b/lib/prism/translation/parser/compiler.rb
index c08c781003..338c916eec 100644
--- a/lib/prism/translation/parser/compiler.rb
+++ b/lib/prism/translation/parser/compiler.rb
@@ -1372,7 +1372,7 @@ module Prism
def visit_multi_write_node(node)
elements = multi_target_elements(node)
- if elements.length == 1 && elements.first.is_a?(MultiTargetNode)
+ if elements.length == 1 && elements.first.is_a?(MultiTargetNode) && !node.rest
elements = multi_target_elements(elements.first)
end