-
-
Notifications
You must be signed in to change notification settings - Fork 934
Closed
phpstan/phpstan-src
#2105Labels
Milestone
Description
Bug report
Code snippet that reproduces the problem
<?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')
};
}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 default arm 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! ❤️