Issue #6086 has been updated by matz (Yukihiro Matsumoto).

Status changed from Assigned to Rejected

Even though I understand the point, I am against the expression "(1 for 0 **)".
So until some one come up with better expression, we leave this as it is now.

Matz.

----------------------------------------
Bug #6086: Number of arguments and named parameters
https://bugs.ruby-lang.org/issues/6086#change-28052

Author: marcandre (Marc-Andre Lafortune)
Status: Rejected
Priority: Low
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 2.0.0
ruby -v: r34800


While working on the messages of "wrong number of arguments" error (see #6085), I realized that the new named parameter feature can lead to misleading error messages:

  def foo(x: 42)
  end
  
  arg = {x: :bar}
  foo(arg) # => nil (no error)
  arg = :bar
  foo(arg) # => ArgumentError: wrong number of arguments (1 for 0)

It would be better if the wording was changed for methods accepting options. Maybe something like:

  foo(arg) # => ArgumentError: wrong number of arguments (1 for 0 **)

Suggestions?



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