Actions
Bug #21540
openprism allows `foo && return bar` when parse.y doesn't
Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.5.0dev (2025-08-08T02:57:23Z master 3ad26d0501) [x86_64-linux]
Description
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
Actions
Like0
Like0Like0Like0Like0