Project

General

Profile

Bug #9811

Numeric#step ignores `to` silently by keyword arguments.

Added by nobu (Nobuyoshi Nakada) about 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
ruby -v:
r45860
[ruby-dev:48177]

Description

Numeric#stepにキーワード引数を指定すると、終了値が無視されます。
無効なキーワードでもエラーになりません。

1.step(10, foo: nil)
#1

Updated by nobu (Nobuyoshi Nakada) about 6 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r45861.


numeric.c: check keyword arguments

  • numeric.c (num_step_scan_args): check keyword arguments and fail if they conflict with positional arguments. [ruby-dev:48177] [Bug #9811]

Updated by nagachika (Tomoyuki Chikanaga) almost 6 years ago

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 をそのまま返すため発生していませんでした。

Updated by nagachika (Tomoyuki Chikanaga) almost 6 years ago

  • Backport changed from 2.0.0: DONTNEED, 2.1: REQUIRED to 2.0.0: DONTNEED, 2.1: DONE

r45858, r45859, r45860, r45861 and r46638 were backported into ruby_2_1 branch at r46661.

Also available in: Atom PDF