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 3
3
namespace PHPStan \Type ;
4
4
5
5
use ArrayAccess ;
6
+ use ArrayObject ;
6
7
use Closure ;
7
8
use Countable ;
8
9
use Iterator ;
@@ -615,6 +616,7 @@ public function toArray(): Type
615
616
616
617
if (
617
618
!$ classReflection ->getNativeReflection ()->isUserDefined ()
619
+ || $ classReflection ->is (ArrayObject::class)
618
620
|| UniversalObjectCratesClassReflectionExtension::isUniversalObjectCrate (
619
621
$ reflectionProvider ,
620
622
$ classReflection ,
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