Misc #17035
closedis non-symbol key hash spread a bug or a feature?
Description
Coming from https://github.com/jruby/jruby/issues/6327#issuecomment-659577894
I've queried jruby about a bug I found, only to find that the behaviour is correct for the ruby versions jruby emulates.
The following:
{**{"a" => "b"}}
breaks in ruby < 2.7, but works in 2.7 .
I've looked at the 2.7 announcements and didn't find any. Is this a feature that ruby wants to keep (I'd very much like so) ? Or was this accidental, and unlikely to be maintained in the long run?
        
           Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
          Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
          
          
        
        
      
      - Status changed from Open to Closed
chucke (Tiago Cardoso) wrote:
{**{"a" => "b"}}breaks in ruby < 2.7, but works in 2.7 .
This is an expected new feature in ruby 2.7, and will not break in future ruby versions.  ** is the keyword splat operator. In ruby <2.7, "a" is not a valid keyword key, but in ruby 2.7, it is (you can pass it as a keyword if a method accepts arbitrary keywords).