From: merch-redmine@... Date: 2021-04-07T16:32:51+00:00 Subject: [ruby-core:103271] [Ruby master Bug#16371] Inconsistent usage of Double splat operator Issue #16371 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed Ruby 2.6 is now in security maintenance mode, so behavior of the double splat operator will not be changed in it. ---------------------------------------- Bug #16371: Inconsistent usage of Double splat operator https://bugs.ruby-lang.org/issues/16371#change-91356 * Author: dmytro.vasin (Dmytro Vasin) * Status: Closed * Priority: Normal * ruby -v: 2.6.0 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- Here is an issue with a weird behavior of ruby double splat operator: ``` a = {a: 'a'} b = {'b' => 'b'} {x: 'x', **a} #=> {:x=>"x", :a=>"a"} {x: 'x', **b} #=> TypeError (hash key "b" is not a Symbol) ``` When I do that implicitly, it works: ``` {x: 'x', **{'b' => 'b'}} #=> {:x=>"x", "b"=>"b"} ``` At the same time: ``` {**{'b' => 'b'}} # TypeError (hash key "b" is not a Symbol) ``` From my point of view, it definitely works inconsistently. Could you help with this example or give an advice? (maybe I used it incorrectly?) -- https://bugs.ruby-lang.org/ Unsubscribe: