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