diff options
-rw-r--r-- | test/ruby/test_keyword.rb | 6 | ||||
-rw-r--r-- | vm_method.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/test/ruby/test_keyword.rb b/test/ruby/test_keyword.rb index bbf3953c17..c3a3a450f1 100644 --- a/test/ruby/test_keyword.rb +++ b/test/ruby/test_keyword.rb @@ -2724,6 +2724,12 @@ class TestKeywordArguments < Test::Unit::TestCase end def test_ruby2_keywords + assert_raise(ArgumentError) do + Class.new do + ruby2_keywords + end + end + c = Class.new do ruby2_keywords def foo(meth, *args) send(meth, *args) diff --git a/vm_method.c b/vm_method.c index 4504468789..877198cee1 100644 --- a/vm_method.c +++ b/vm_method.c @@ -1811,6 +1811,7 @@ rb_mod_ruby2_keywords(int argc, VALUE *argv, VALUE module) int i; VALUE origin_class = RCLASS_ORIGIN(module); + rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS); rb_check_frozen(module); for (i = 0; i < argc; i++) { |