Skip to content

Commit 62502b8

Browse files
committed
fix: use strict mixed in StrictTypeSafetyChecker
1 parent 0d319a2 commit 62502b8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

rules/TypeDeclaration/NodeAnalyzer/StrictTypeSafetyChecker.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use PHPStan\Reflection\Php\PhpPropertyReflection;
1919
use PHPStan\Type\MixedType;
2020
use PHPStan\Type\NeverType;
21+
use PHPStan\Type\StrictMixedType;
2122
use PHPStan\Type\Type;
2223
use Rector\NodeTypeResolver\NodeTypeResolver;
2324
use Rector\NodeTypeResolver\PHPStan\ParametersAcceptorSelectorVariantsWrapper;
@@ -197,6 +198,11 @@ private function isPropertyAssignSafe(Assign $assign): bool
197198

198199
private function isTypeSafeForStrictMode(Type $declaredType, Type $valueType): bool
199200
{
201+
if ($valueType instanceof MixedType) {
202+
/** @phpstan-ignore phpstanApi.constructor (need to be strict with mixed) */
203+
$valueType = new StrictMixedType();
204+
}
205+
200206
return $declaredType->accepts($valueType, strictTypes: true)
201207
->yes();
202208
}

0 commit comments

Comments
 (0)