From d135a6fcd8f77d895caff66655d41a8712f89cdb Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Mon, 29 Apr 2024 01:05:53 +0200 Subject: [PATCH] Try to fix --- .../Type/TemplateInferredTypeReplacer.php | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Psalm/Internal/Type/TemplateInferredTypeReplacer.php b/src/Psalm/Internal/Type/TemplateInferredTypeReplacer.php index ab367ca66c8..40c580f9dd0 100644 --- a/src/Psalm/Internal/Type/TemplateInferredTypeReplacer.php +++ b/src/Psalm/Internal/Type/TemplateInferredTypeReplacer.php @@ -443,15 +443,18 @@ private static function replaceConditional( ) { $matching_if_types[] = $candidate_atomic_type; } elseif (!UnionTypeComparator::isContainedBy( - $codebase, - $conditional_type, - new Union([$candidate_atomic_type]), - false, - false, - null, - false, - false, - )) { + $codebase, + $conditional_type, + new Union([$candidate_atomic_type]), + false, + false, + null, + false, + false, + ) + && ($candidate_atomic_type->getKey() !== 'string' + || $conditional_type->getKey() !== 'string') + ) { $matching_else_types[] = $candidate_atomic_type; } }