From: naruse@... Date: 2021-02-02T06:44:53+00:00 Subject: [ruby-core:102376] [Ruby master Bug#17558] ruby2_keywords ignores arguments after a block defined method Issue #17558 has been updated by naruse (Yui NARUSE). 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. ---------------------------------------- Bug #17558: ruby2_keywords ignores arguments after a block defined method https://bugs.ruby-lang.org/issues/17558#change-90237 * Author: nobu (Nobuyoshi Nakada) * Status: Closed * Priority: Normal * Backport: 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED, 3.0: DONE ---------------------------------------- The result of `foo_bar2` should be the same as `foo_bar1`. ```ruby 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}], {}] ``` [patch](https://github.com/ruby/ruby/pull/4096) -- https://bugs.ruby-lang.org/ Unsubscribe: