Actions
Feature #21572
openMake illegal variable in alternation pattern a syntax error
Status:
Open
Assignee:
-
Target version:
-
Description
Currently when you have an illegal variable in an alternation pattern, you get a compile error, but no syntax error.
case foo
in {a: } | Array
"matched: #{a}"
end
yields
$ ruby -cv test.rb
ruby 3.5.0dev (2025-04-10T10:21:51Z master 756479324f) +PRISM [x86_64-linux]
Syntax OK
but
$ ruby test.rb
test.rb:2: illegal variable in alternative pattern (a)
test.rb: compile error (SyntaxError)
Looking at the compiler, since illegal jumps (like break, next, etc.) are now syntax errors, the only other actual compiler errors are related to builtins. I think this should be a proper syntax error, so that editors and other tools can report on it and users can find it in development sooner.
No data to display
Actions
Like0