Issue #10870 has been reported by Imran "".

----------------------------------------
Bug #10870: Hash Literal Declined As First Argument
https://bugs.ruby-lang.org/issues/10870

* Author: Imran ""
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: 2.0.0-p481
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Hi,

When a hash literal is passed as first argument to a method, Ruby throws a syntax error.
Example code:
~~~ruby
def foo *args
  p args
end

foo 'Hello'
foo 123
foo ['Hello', 123]
foo {:hello => 123}   # Syntax Error: Unexpected =>  Expecting }
~~~
However, shifting hash literal over to second place, somehow makes it all legal.
~~~ruby
foo 'Unnecessary 1st Argument', {:hello => 123}     # Error gone
~~~

Cheers.



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