Project

General

Profile

Actions

Bug #20195

closed

3.3.0 YJIT mishandles ruby2_keywords splat into methods taking a rest parameter

Added by alanwu (Alan Wu) 7 months ago. Updated 3 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:116344]

Description

Check with:

ruby2_keywords def foo(*args) = args

def bar(*args, **kw) = [args, kw]

def pass_bar(*args) = bar(*args)

def body
  args = foo(a: 1)
  pass_bar(*args)
end

p body
$ ruby ../test.rb
[[{:a=>1}], {}]
$ ruby --yjit-call-threshold=1 ../test.rb
[[], {:a=>1}]

Fix at: https://github.com/ruby/ruby/pull/9621

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0