diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/false_and_true.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/false_and_true.php.inc new file mode 100644 index 00000000000..c6728e3a9ea --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/false_and_true.php.inc @@ -0,0 +1,34 @@ + [true], + 'second' => [false], + 'third' => [true], + 'fourth' => [false], + ]; +} + +?> +----- + + */ +function FalseAndTrue() +{ + return [ + 'first' => [true], + 'second' => [false], + 'third' => [true], + 'fourth' => [false], + ]; +} + +?> diff --git a/src/NodeTypeResolver/PHPStan/TypeHasher.php b/src/NodeTypeResolver/PHPStan/TypeHasher.php index 5ec869ad6b3..1caa97a9f3b 100644 --- a/src/NodeTypeResolver/PHPStan/TypeHasher.php +++ b/src/NodeTypeResolver/PHPStan/TypeHasher.php @@ -32,7 +32,7 @@ public function createTypeHash(Type $type): string if ($type instanceof ArrayType) { return $this->createTypeHash($type->getIterableValueType()) . $this->createTypeHash( $type->getIterableKeyType() - ) . '[]'; + ) . $type->getItemType()->describe(VerbosityLevel::precise()) . '[]'; } if ($type instanceof GenericObjectType) {