Issue #10279 has been updated by Nobuyoshi Nakada.

Related to Bug #9669: Inconsistent SyntaxError in Ruby 2.1 mandatory keyword arguments definition without parentheses. added

----------------------------------------
Bug #10279: Syntax error on Hash with symbol syntax and nested expression: 2.1.3 regression 
https://bugs.ruby-lang.org/issues/10279#change-49064

* Author: Jack Montaach
* Status: Assigned
* Priority: Normal
* Assignee: Nobuyoshi Nakada
* Category: syntax
* Target version: next minor
* ruby -v: 2.1.3
* Backport: 
----------------------------------------
The following gives syntax error on ruby 2.1.3

~~~ruby
h = { key: if true
             "yes"
           else
             "no"
           end }

puts h.inspect
~~~

~~~
/usr/local/rvm/rubies/ruby-2.1.3/bin/ruby x.rb
x.rb:1: syntax error, unexpected modifier_if
h = { key: if true
             ^
x.rb:3: syntax error, unexpected keyword_else, expecting end-of-input
~~~

~~~
/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby x.rb
{:key=>"yes"}
~~~




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