Symbol keys in a hash seem to be handled similarly as with keyword arguments in the sense that, given hashes with symbol keys,
a = [{a: 1, b: 2}, {a: 3, b: 4}]
the corresponding values are referred to by the keyword block argument in this expression:
a.each{|a:, b:| ...}
On the other hand, this expression, in which the keyword argument appears within parentheses:
a.each_with_index{|(a:, b:), i| ...}
causes a syntax error:
unexpected tLABEL
a.each_with_index{|(a:, b:), i| }
^
Is this an expected feature, or a bug?