Bug #21540
Updated by Earlopain (Earlopain _) 4 days ago
Code such as `foo && return bar` has been disallowed in ruby since at least Ruby 2.0. Prism allows it though:
```
$ ruby -cve "a && return foo"
ruby 3.5.0dev (2025-08-08T02:57:23Z master 3ad26d0501) +PRISM [x86_64-linux]
Syntax OK
$ ruby --parser=parse.y -cve "a && return foo"
ruby 3.5.0dev (2025-08-08T02:57:23Z master 3ad26d0501) [x86_64-linux]
-e:1: syntax error, unexpected local variable or method, expecting end-of-input
a && return foo
ruby: compile error (SyntaxError)
```
The code seems to behave like I'd expect it to and I wouldn't mind it being accepted but it is inconsistent. Also happens on Ruby 3.4