From: koic.ito@... Date: 2015-08-18T04:13:52+00:00 Subject: [ruby-dev:49221] [Ruby trunk - Bug #11456] [Open] Hash リテラル中で rescue をもちいると SyntaxError になる Issue #11456 has been reported by Koichi ITO. ---------------------------------------- Bug #11456: Hash リテラル中で rescue をもちいると SyntaxError になる https://bugs.ruby-lang.org/issues/11456 * Author: Koichi ITO * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-08-18 trunk 51622) [x86_64-darwin13] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- ruby 2.3.0dev (2015-08-18 trunk 51622) にて、Hash リテラル中で rescue をもちいると SyntaxError になりました。 まず、ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin13] の実行結果です。

% irb
irb(main):001:0> {foo: ("" rescue "")}
=> {:foo=>""}
次に、ruby 2.3.0dev (2015-08-18 trunk 51622) [x86_64-darwin13] の実行結果です。

% 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 `
'
こちらの挙動について期待している振る舞いかどうか判断がつかなかったため、レポートとさせてください。 -- https://bugs.ruby-lang.org/