Issue #11456 has been updated by Tomoyuki Chikanaga.


バックポート用メモ
`ruby_2_2` の HEAD ( ruby 2.2.3p171 (2015-08-17 revision 51619)) においては以下はいずれも syntax error になりません。

```
{foo: ("" rescue "")}
{foo: (1 rescue 0)}
{foo: /=/}
```

#10653 の修正である r51617 によって表れる現象だと思われますので、r51617 の backport 時にこちらも一緒にバックポートします。


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

* 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: REQUIRED
----------------------------------------
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/