Issue #11068 has been reported by bug hit.

----------------------------------------
Bug #11068: unable to ommit an optional keyarg if the previous arg is an optional hash
https://bugs.ruby-lang.org/issues/11068

* Author: bug hit
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
```
irb(main):001:0> def foo(hash = {}, a: nil); [hash, a] end
=> :foo
irb(main):002:0> foo({b: 1}, a: 1)
=> [{:b=>1}, 1]
irb(main):003:0> foo({b: 1})
ArgumentError: unknown keyword: b
	from (irb):1:in `foo'
	from (irb):3
	from /home/alex/.rbenv/versions/2.2.2/bin/irb:11:in `<main>'
irb(main):004:0> 
```



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