Actions
Bug #17558
closedruby2_keywords ignores arguments after a block defined method
Description
The result of foo_bar2
should be the same as foo_bar1
.
class C
def bar(*args, **kw)
[args, kw]
end
def nothing_1(*args)
end
define_method(:nothing_2) do |*args|
end
def foo_bar1(*args)
bar(*args)
end
def foo_bar2(*args)
bar(*args)
end
ruby2_keywords :nothing_1, :foo_bar1
ruby2_keywords :nothing_2, :foo_bar2
end
c = C.new
p c.foo_bar1(a: 1) #=> [[], {:a=>1}]
p c.foo_bar2(a: 1) #=> [[{:a=>1}], {}]
Updated by nobu (Nobuyoshi Nakada) over 3 years ago
- Status changed from Open to Closed
Applied in changeset git|eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c.
Fixed premature return
After setting ruby2_keywords for bmethod, the rest of arguments
had been ignored. [Bug #17558]
Updated by naruse (Yui NARUSE) over 3 years ago
- Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED, 3.0: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED, 3.0: DONE
ruby_3_0 0b372d9b1df46b82e5819d7592d1c6ba1eb866e1 merged revision(s) eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c.
Updated by nagachika (Tomoyuki Chikanaga) over 3 years ago
- Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED, 3.0: DONE to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE, 3.0: DONE
ruby_2_7 931815bfd86df603337194f3fcefb46bfe3e7940 merged revision(s) eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c.
Actions
Like0
Like0Like0Like0Like0