From 092dd4a667175a123ef9b628e7008be6398d7e0e Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 9 Dec 2020 11:56:54 +0900 Subject: Argument forwarding with `...` now supports leading arguments. ```ruby def method_missing(meth, ...) send(:"do_#{meth}", ...) end ``` --- test/t/syntax.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test') diff --git a/test/t/syntax.rb b/test/t/syntax.rb index ae698c385..3b6de6c18 100644 --- a/test/t/syntax.rb +++ b/test/t/syntax.rb @@ -686,3 +686,22 @@ assert('_0 is not numbered parameter') do _0 = :l assert_equal(:l, ->{_0}.call) end + +assert('argument forwarding') do + c = Class.new { + def a0(*a,&b) + assert_equal([1,2,3], a) + assert_not_nil(b) + end + def a(...) + a0(...) + end + def b(a,...) + assert_equal(a,1) + a0(1,...) + end + } + o = c.new + o.a(1,2,3){} + o.b(1,2,3){} +end -- cgit v1.2.3