Issue #11771 has been reported by bug hit.

----------------------------------------
Bug #11771: unable to pass keyargs to []=
https://bugs.ruby-lang.org/issues/11771

* Author: bug hit
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: 2.2.3
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
```ruby
module Foo
  def self.[]=(key, val, option: nil)

  end
end

Foo[:key] = 1 # ok


Foo[:key, option: 1] = 1 # wrong number of arguments (3 for 2)

```

if you declare the []= params using *

```ruby

module Bar
  def self.[]=(*args)
    p args
  end
end

Bar[:key, option: 1] = 1 # args: [:key, {:option=>1}, 1]

```

the args end up [:key, {:option=>1}, 1] which seems wrong since the keyargs hash is supposed to be last




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