From: nobu@... Date: 2017-07-18T11:19:01+00:00 Subject: [ruby-core:82094] [Ruby trunk Bug#13647][Feedback] Some weird behaviour with keyword arguments Issue #13647 has been updated by nobu (Nobuyoshi Nakada). Status changed from Open to Feedback I couldn't reproduce it with hashie-3.5.6, from 2.0.0 through trunk. ---------------------------------------- Bug #13647: Some weird behaviour with keyword arguments https://bugs.ruby-lang.org/issues/13647#change-65826 * Author: Arepo (Sasha Cooper) * Status: Feedback * Priority: Normal * Assignee: * Target version: * ruby -v: 2.3.0, 2.4.0 * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- I was just playing around and found this weird behaviour, which seems to be in at least Ruby 2.3.0 and Ruby 2.4.0: ~~~ ruby hashie = Hashie::Mash.new(a: :b) def foo(hashie) hashie.inspect end def woo(hashie, bashie: nil) hashie.inspect end def zoo(hashie = nil, cashie: nil) hashie.inspect end foo(hashie) # => "#" woo(hashie) # => "#" ~~~ So far so good, but when we call the third method, we get this: ~~~ ruby zoo(hashie) # => "{\"a\"=>:b}" ~~~ Similarly, ~~~ ruby zoo(:symbol) # => ":symbol" ~~~ Is this intentional behaviour? If so, what's the rationale? If not, is it a known issue? -- https://bugs.ruby-lang.org/ Unsubscribe: