Project

General

Profile

Actions

Bug #17558

closed

ruby2_keywords ignores arguments after a block defined method

Added by nobu (Nobuyoshi Nakada) about 3 years ago. Updated about 3 years ago.

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

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}], {}]

patch

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0