From b7e299b6bc9762bdec7587ac082173f240a1b01c Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sat, 27 Sep 2025 16:42:04 +0700 Subject: [PATCH] =?UTF-8?q?Revert=20"[NodeTypeResolver]=20Apply=20logic=20?= =?UTF-8?q?Mixed=20inside=20Union=20check=20on=20TypeFactor=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit dd60a7cb14337c6c1f333b89d63637f17220a3fd. --- src/NodeTypeResolver/PHPStan/Type/TypeFactory.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/NodeTypeResolver/PHPStan/Type/TypeFactory.php b/src/NodeTypeResolver/PHPStan/Type/TypeFactory.php index 4bb63172494..6f12a85490d 100644 --- a/src/NodeTypeResolver/PHPStan/Type/TypeFactory.php +++ b/src/NodeTypeResolver/PHPStan/Type/TypeFactory.php @@ -64,10 +64,8 @@ public function uniquateTypes(array $types, bool $keepConstant = false): array $hasFalse = false; $hasTrue = false; foreach ($types as $type) { - // mixed only allowed to be standalone if ($type instanceof MixedType) { - /** @var array */ - return [new MixedType()]; + $type = new MixedType(); } $type = $this->normalizeObjectType($totalTypes, $type); @@ -170,6 +168,12 @@ private function createUnionOrSingleType(array $types): Type return $types[0]; } + foreach ($types as $type) { + if ($type instanceof MixedType) { + return new MixedType(); + } + } + return new UnionType($types); }