<?php declare(strict_types = 1);
enum Foo {
case BAR;
}
function doFoo(Foo $foo): int {
return match($foo) {
Foo::BAR => 5,
default => throw new Exception('This will not be executed')
};
}
Expecting an error at line 10 saying this match arm is unreachable. Because all possible enum values are already handled.
Bug report
Code snippet that reproduces the problem
https://phpstan.org/r/546a29d0-5aee-473e-a565-879644ed30d2
It reports error without enum: https://phpstan.org/r/b30674fc-ca2b-4b39-b1f9-ba57088054b1 (although looks like the order of
defaultarm effects the analysis. maybe that should be another issue)Expected output
Expecting an error at line 10 saying this match arm is unreachable. Because all possible enum values are already handled.
Did PHPStan help you today? Did it make you happy in any way?
Yes! ❤️