@@ -15,8 +15,10 @@ class HelloWorld
1515 public function sayIdenticalLists ($ listA , array $ listB ): void
1616 {
1717 if (count ($ listA ) === count ($ listB )) {
18+ assertType ('non-empty-list<int> ' , $ listA );
1819 assertType ('non-empty-list<int> ' , $ listB );
1920 }
21+ assertType ('non-empty-list<int> ' , $ listA );
2022 assertType ('list<int> ' , $ listB );
2123 }
2224
@@ -26,8 +28,10 @@ public function sayIdenticalLists($listA, array $listB): void
2628 public function sayIdenticalList ($ listA , array $ arrB ): void
2729 {
2830 if (count ($ listA ) === count ($ arrB )) {
31+ assertType ('non-empty-list<int> ' , $ listA );
2932 assertType ('non-empty-array ' , $ arrB );
3033 }
34+ assertType ('non-empty-list<int> ' , $ listA );
3135 assertType ('array ' , $ arrB );
3236 }
3337
@@ -37,8 +41,10 @@ public function sayIdenticalList($listA, array $arrB): void
3741 public function sayEqualArray ($ arrA , array $ arrB ): void
3842 {
3943 if (count ($ arrA ) == count ($ arrB )) {
44+ assertType ('non-empty-array<int> ' , $ arrA );
4045 assertType ('non-empty-array ' , $ arrB );
4146 }
47+ assertType ('non-empty-array<int> ' , $ arrA );
4248 assertType ('array ' , $ arrB );
4349 }
4450
@@ -49,8 +55,10 @@ public function sayEqualArray($arrA, array $arrB): void
4955 public function sayEqualIntArray ($ arrA , array $ arrB ): void
5056 {
5157 if (count ($ arrA ) == count ($ arrB )) {
58+ assertType ('non-empty-array<int> ' , $ arrA );
5259 assertType ('non-empty-array<int> ' , $ arrB );
5360 }
61+ assertType ('non-empty-array<int> ' , $ arrA );
5462 assertType ('array<int> ' , $ arrB );
5563 }
5664
@@ -61,8 +69,10 @@ public function sayEqualIntArray($arrA, array $arrB): void
6169 public function sayEqualStringArray ($ arrA , array $ arrB ): void
6270 {
6371 if (count ($ arrA ) == count ($ arrB )) {
72+ assertType ('non-empty-array<int> ' , $ arrA );
6473 assertType ('non-empty-array<string> ' , $ arrB );
6574 }
75+ assertType ('non-empty-array<int> ' , $ arrA );
6676 assertType ('array<string> ' , $ arrB );
6777 }
6878
@@ -76,6 +86,7 @@ public function sayUnknownSizeArray($arrA, array $arrB): void
7686 assertType ('array<int> ' , $ arrA );
7787 assertType ('array<string> ' , $ arrB );
7888 }
89+ assertType ('array<int> ' , $ arrA );
7990 assertType ('array<string> ' , $ arrB );
8091 }
8192
@@ -86,8 +97,10 @@ public function sayUnknownSizeArray($arrA, array $arrB): void
8697 function sayEqualArrayShape ($ arrA , array $ arrB ): void
8798 {
8899 if (count ($ arrA ) == count ($ arrB )) {
100+ assertType ('array{int, int, int} ' , $ arrA );
89101 assertType ('array{mixed, mixed, mixed} ' , $ arrB );
90102 }
103+ assertType ('array{int, int, int} ' , $ arrA );
91104 assertType ('list ' , $ arrB );
92105 }
93106
@@ -99,8 +112,10 @@ function sayEqualArrayShapeReversed($arrA, array $arrB): void
99112 {
100113 if (count ($ arrA ) == count ($ arrB )) {
101114 assertType ('array{mixed, mixed, mixed} ' , $ arrA );
115+ assertType ('array{int, int, int} ' , $ arrB );
102116 }
103117 assertType ('list ' , $ arrA );
118+ assertType ('array{int, int, int} ' , $ arrB );
104119 }
105120
106121 /**
@@ -114,8 +129,10 @@ function sayEqualArrayShapeAfterNarrowedCount($arrA, array $arrB): void
114129 }
115130
116131 if (count ($ arrA ) == count ($ arrB )) {
132+ assertType ('array{int, int, int} ' , $ arrA );
117133 assertType ('array{mixed, mixed, mixed} ' , $ arrB );
118134 }
135+ assertType ('array{int, int, int} ' , $ arrA );
119136 assertType ('non-empty-list ' , $ arrB );
120137 }
121138
@@ -126,16 +143,16 @@ function dontNarrowEmpty(array $arrB): void
126143 {
127144 $ arrA = [];
128145 assertType ('array{} ' , $ arrA );
129-
146+
130147 if (count ($ arrA ) == count ($ arrB )) {
131148 assertType ('*NEVER* ' , $ arrA );
132- assertType ('non-empty-array ' , $ arrB );
149+ assertType ('non-empty-array ' , $ arrB ); // could be '*NEVER*'
133150 }
134151 assertType ('array{} ' , $ arrA );
135152
136153 if (count ($ arrB ) == count ($ arrA )) {
137154 assertType ('*NEVER* ' , $ arrA );
138- assertType ('non-empty-array ' , $ arrB );
155+ assertType ('non-empty-array ' , $ arrB ); // could be '*NEVER*'
139156 }
140157 assertType ('array{} ' , $ arrA );
141158 }
0 commit comments