From 59c3fac6c4d803019095eebb92b0d2862450ded6 Mon Sep 17 00:00:00 2001 From: Jimmy Miller Date: Fri, 24 Mar 2023 17:01:59 -0400 Subject: YJIT: Rest and block_arg support (#7584) --- bootstraptest/test_yjit.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'bootstraptest') diff --git a/bootstraptest/test_yjit.rb b/bootstraptest/test_yjit.rb index f428407195..64299e004e 100644 --- a/bootstraptest/test_yjit.rb +++ b/bootstraptest/test_yjit.rb @@ -3779,3 +3779,24 @@ assert_equal "ArgumentError", %q{ "ArgumentError" end } + +# Rest with block +# Simplified code from railsbench +assert_equal '[{"/a"=>"b", :as=>:c, :via=>:post}, [], nil]', %q{ + def match(path, *rest, &block) + [path, rest, block] + end + + def map_method(method, args, &block) + options = args.last + args.pop + options[:via] = method + match(*args, options, &block) + end + + def post(*args, &block) + map_method(:post, args, &block) + end + + post "/a" => "b", as: :c +} -- cgit v1.2.1