From: naruse@... Date: 2014-02-22T13:13:37+00:00 Subject: [ruby-core:61015] [Backport21 - Backport #9298] [Closed] Backport r44420: unknown keyword error with unnamed rest keywords argument Issue #9298 has been updated by Yui NARUSE. Status changed from Feedback to Closed % Done changed from 0 to 100 Applied in changeset r45138. ---------- merge revision(s) 44412,44413,44414,44420,44421: [Backport #9298] test_method.rb, test_proc.rb: suppress warnings * test/ruby/test_method.rb: suppress warnings in verbose mode. * test/ruby/test_proc.rb: ditto. * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if having rest keywords argument. [ruby-core:53298] [Bug #8072] * iseq.c (rb_iseq_parameters): push argument type symbol only for unnamed rest keywords argument. * compile.c (iseq_set_arguments): set arg_keyword_check from nd_cflag, which is set by parser. internal ID is used for unnamed keyword rest argument, which should be separated from no keyword check. * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is present. * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which equals to that keyword rest is not present. ---------------------------------------- Backport #9298: Backport r44420: unknown keyword error with unnamed rest keywords argument https://bugs.ruby-lang.org/issues/9298#change-45422 * Author: Nobuyoshi Nakada * Status: Closed * Priority: Normal * Assignee: Yui NARUSE ---------------------------------------- The following code should not raise "unknown keyword" error. ```ruby def f10(a: 1, **) a end f10(b: 42) ``` -- http://bugs.ruby-lang.org/