From: alxtskrnk@... Date: 2015-12-04T19:42:21+00:00 Subject: [ruby-core:71836] [Ruby trunk - Bug #11771] [Open] unable to pass keyargs to []= 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/