Issue #9811 has been updated by Tomoyuki Chikanaga.


r45861 およびその準備の r45859, r45860 を `ruby_2_1` にバックポートすると 1.step(by: 0).size が "in `size': unknown keywords: by, to (ArgumentError)" のような例外を発生させます。
rb_get_kwargs() は ID の配列を受けとりますが、Symbol の配列を渡しているためでした。trunk では rb_id2sym() が Symbol をそのまま返すため発生していませんでした。

----------------------------------------
Bug #9811: Numeric#step ignores `to` silently by keyword arguments.
https://bugs.ruby-lang.org/issues/9811#change-47516

* Author: Nobuyoshi Nakada
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* ruby -v: r45860
* Backport: 2.0.0: DONTNEED, 2.1: REQUIRED
----------------------------------------
Numeric#stepにキーワード引数を指定すると、終了値が無視されます。
無効なキーワードでもエラーになりません。

~~~ruby
1.step(10, foo: nil)
~~~





-- 
https://bugs.ruby-lang.org/