Issue #6086 has been reported by Marc-Andre Lafortune.

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

Author: Marc-Andre Lafortune
Status: Open
Priority: Low
Assignee: 
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/