diff --git a/src/Analyser/MutatingScope.php b/src/Analyser/MutatingScope.php index 900c3f3fff1..a3ae4697891 100644 --- a/src/Analyser/MutatingScope.php +++ b/src/Analyser/MutatingScope.php @@ -4105,9 +4105,7 @@ private function createConditionalExpressions( if (!$holder->getCertainty()->yes()) { continue; } - if ($mergedExpressionTypes[$exprString]->equalTypes($holder)) { - continue; - } + if ( array_key_exists($exprString, $theirExpressionTypes) && !$theirExpressionTypes[$exprString]->getCertainty()->yes() @@ -4115,6 +4113,10 @@ private function createConditionalExpressions( continue; } + if ($mergedExpressionTypes[$exprString]->equalTypes($holder)) { + continue; + } + $typeGuards[$exprString] = $holder; }