diff --git a/tests/PHPStan/Analyser/nsrt/array-key-exists-on-subtracted.php b/tests/PHPStan/Analyser/nsrt/array-key-exists-on-subtracted.php new file mode 100644 index 0000000000..2261e3afa3 --- /dev/null +++ b/tests/PHPStan/Analyser/nsrt/array-key-exists-on-subtracted.php @@ -0,0 +1,20 @@ += 8.0 + +namespace ArrayKeyExistsSubtracted; + +use function PHPStan\Testing\assertType; + +enum IntBacked: int { + case A = 1; + case B = 2; +} + +function test(IntBacked $i, array $arr): void { + if ($i !== IntBacked::A) { + assertType('2', $i->value); + + if (array_key_exists($i->value, $arr)) { + assertType('non-empty-array&hasOffset(2)', $arr); + } + } +}