File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed
tests/PHPStan/Analyser/nsrt Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 33namespace PHPStan \Type ;
44
55use ArrayAccess ;
6+ use ArrayObject ;
67use Closure ;
78use Countable ;
89use DateTime ;
@@ -634,6 +635,7 @@ public function toArray(): Type
634635
635636 if (
636637 !$ classReflection ->getNativeReflection ()->isUserDefined ()
638+ || $ classReflection ->is (ArrayObject::class)
637639 || UniversalObjectCratesClassReflectionExtension::isUniversalObjectCrate (
638640 $ reflectionProvider ,
639641 Broker::getInstance ()->getUniversalObjectCratesClasses (),
Original file line number Diff line number Diff line change 1+ <?php // lint >= 8.0
2+
3+ namespace Bug12182 ;
4+
5+ use ArrayObject ;
6+ use function PHPStan \Testing \assertType ;
7+
8+ /**
9+ * @extends ArrayObject<int, string>
10+ */
11+ class HelloWorld extends ArrayObject
12+ {
13+ public function __construct (private int $ a = 42 ) {
14+ }
15+ }
16+
17+ function (HelloWorld $ hw ): void {
18+ assertType ('array ' , (array ) $ hw );
19+ };
You can’t perform that action at this time.
0 commit comments