Issue #11456 has been updated by Tomoyuki Chikanaga.


> %w じゃなくて %q や %Q ですよね。

おっしゃる通りです。手癖でまちがえました。

https://github.com/nobu/ruby/commit/918830f1236ffd2014261b95d41cc6adc79aa71b は trunk でも { %q"key": value } を復活させようということでしょうか?

----------------------------------------
Bug #11456: Hash リテラル中で rescue をもちいると SyntaxError になる
https://bugs.ruby-lang.org/issues/11456#change-54378

* Author: Koichi ITO
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-08-18 trunk 51622) [x86_64-darwin13]
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
ruby 2.3.0dev (2015-08-18 trunk 51622) にて、Hash リテラル中で rescue をもちいると SyntaxError になりました。

まず、ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin13] の実行結果です。

~~~ruby
% irb
irb(main):001:0> {foo: ("" rescue "")}
=> {:foo=>""}
~~~

次に、ruby 2.3.0dev (2015-08-18 trunk 51622) [x86_64-darwin13] の実行結果です。

~~~ruby
% irb
irb(main):001:0> {foo: ("" rescue "")}
SyntaxError: (irb):1: syntax error, unexpected modifier_rescue, expecting ')'
{ foo: ('' rescue '') }
                 ^
        from /Users/koic/.rbenv/versions/2.3.0-dev/bin/irb:11:in `<main>'
~~~

こちらの挙動について期待している振る舞いかどうか判断がつかなかったため、レポートとさせてください。




-- 
https://bugs.ruby-lang.org/