Issue #11143 has been updated by Nobuyoshi Nakada.

Status changed from Rejected to Open

----------------------------------------
Bug #11143: it should always be possible to return from an if
https://bugs.ruby-lang.org/issues/11143#change-52484

* Author: bug hit
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: 
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
```
irb(main):001:0> def foo; a = if true then return end end
SyntaxError: (irb):1: void value expression
```

it should not matter that you are not producing a value for the if expression, since you are leaving the method immediately.  This should also apply to other jumps.



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