@@ -19,8 +19,10 @@ function doesNotWork() : array {
1919 $ final [$ i ][$ j ][$ k ]['ghi ' ] = $ i ;
2020
2121 assertType ("array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>} " , $ final [$ i ][$ j ][$ k ]);
22+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>> " , $ final );
2223 }
2324
25+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>> " , $ final );
2426 return $ final ;
2527}
2628
@@ -39,8 +41,10 @@ function fourLevelsDeep() : array {
3941 $ final [$ i ][$ j ][$ k ][$ l ]['ghi ' ] = $ i ;
4042
4143 assertType ("array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>} " , $ final [$ i ][$ j ][$ k ][$ l ]);
44+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, non-empty-array<int<0, 12>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>>> " , $ final );
4245 }
4346
47+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, non-empty-array<int<0, 12>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>>> " , $ final );
4448 return $ final ;
4549}
4650
@@ -60,8 +64,10 @@ function fiveLevelsDeep() : array {
6064 $ final [$ i ][$ j ][$ k ][$ l ][$ m ]['ghi ' ] = $ i ;
6165
6266 assertType ("array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>} " , $ final [$ i ][$ j ][$ k ][$ l ][$ m ]);
67+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, non-empty-array<int<0, 12>, non-empty-array<int<10, 14>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>>>> " , $ final );
6368 }
6469
70+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, non-empty-array<int<0, 12>, non-empty-array<int<10, 14>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>>>> " , $ final );
6571 return $ final ;
6672}
6773
@@ -82,8 +88,10 @@ function sixLevelsDeep() : array {
8288 $ final [$ i ][$ j ][$ k ][$ l ][$ m ][$ n ]['ghi ' ] = $ i ;
8389
8490 assertType ("array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>} " , $ final [$ i ][$ j ][$ k ][$ l ][$ m ][$ n ]);
91+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, non-empty-array<int<0, 12>, non-empty-array<int<10, 14>, non-empty-array<int<20, 24>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>>>>> " , $ final );
8592 }
8693
94+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, non-empty-array<int<1, 9>, non-empty-array<int<0, 12>, non-empty-array<int<10, 14>, non-empty-array<int<20, 24>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>>>>>> " , $ final );
8795 return $ final ;
8896}
8997
@@ -102,7 +110,9 @@ function thisWorks() : array {
102110 $ final [$ i ][$ j ]['ghi ' ] = $ i ;
103111
104112 assertType ("array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>} " , $ final [$ i ][$ j ]);
113+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>> " , $ final );
105114 }
106115
116+ assertType ("non-empty-array<int<0, 4>, non-empty-array<int<0, 8>, array{abc: int<0, 4>, def: int<0, 4>, ghi: int<0, 4>}>> " , $ final );
107117 return $ final ;
108118}
0 commit comments