Issue #8993 has been updated by marcandre (Marc-Andre Lafortune). This is a bug and JRuby's behavior is correct. ---------------------------------------- misc #8993: Request for clarification on method argument binding for keyword arguments https://bugs.ruby-lang.org/issues/8993#change-43656 Author: 97jaz (Jon Zeppieri) Status: Assigned Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: core Target version: =begin I recently fixed keyword arguments in the JRuby interpreter, and I then found an example for which MRI and JRuby have different behavior: def foo(a, b, c=1, *d, e, f:2, **g) [a, b, c, d, e, f, g] end foo(1, 2, f:5) MRI raises: ArgumentError: wrong number of arguments (2 for 3+) ... whereas JRuby produces: [1, 2, 1, [], {:f=>5}, 2, {}] I implemented the behavior in JRuby to conform with MRI, but in this case, I think that JRuby's behavior is correct, based upon the discussion in #8040. Is there a spec for this feature somewhere (aside from the RSpec specs that I submitted to the RubySpec project)? In #7529, Matz refers to "the spec" for this feature, but I don't know where or what that is. =end -- http://bugs.ruby-lang.org/