1515 */
1616function test (array $ array1 , array $ array2 , array $ array3 , array $ list , array $ nonEmptyArray , array $ arrayShape1 , array $ arrayShape2 ): void
1717{
18- assertType ('array<int|string, int > ' , array_uintersect ($ array1 , $ array2 , static function (mixed $ a , mixed $ b ) {
18+ assertType ('array<int> ' , array_uintersect ($ array1 , $ array2 , static function (mixed $ a , mixed $ b ) {
1919 assertType ('int ' , $ a );
2020 assertType ('string ' , $ b );
2121
2222 return strcasecmp ((string ) $ a , $ b );
2323 }));
2424
25- assertType ('array<int|string, string> ' , array_uintersect ($ array2 , $ array1 , static function (mixed $ a , mixed $ b ) {
25+ assertType ('array<string> ' , array_uintersect ($ array2 , $ array1 , static function (mixed $ a , mixed $ b ) {
2626 assertType ('string ' , $ a );
2727 assertType ('int ' , $ b );
2828
2929 return strcasecmp ($ a , (string ) $ b );
3030 }));
3131
32- assertType ('array<int|string, int > ' , array_uintersect ($ array1 , $ array3 , static function (mixed $ a , mixed $ b ) {
32+ assertType ('array<int> ' , array_uintersect ($ array1 , $ array3 , static function (mixed $ a , mixed $ b ) {
3333 assertType ('int ' , $ a );
3434 assertType ('int ' , $ b );
3535
@@ -43,49 +43,49 @@ function test(array $array1, array $array2, array $array3, array $list, array $n
4343 return $ a <=> $ b ;
4444 }));
4545
46- assertType ('array<int|string, int > ' , array_uintersect ($ array1 , $ list , static function (mixed $ a , mixed $ b ) {
46+ assertType ('array<int> ' , array_uintersect ($ array1 , $ list , static function (mixed $ a , mixed $ b ) {
4747 assertType ('int ' , $ a );
4848 assertType ('string ' , $ b );
4949
5050 return strcasecmp ((string ) $ a , $ b );
5151 }));
5252
53- assertType ('array<int, string> ' , array_uintersect ($ list , $ array1 , static function (mixed $ a , mixed $ b ) {
53+ assertType ('array<int<0, max> , string> ' , array_uintersect ($ list , $ array1 , static function (mixed $ a , mixed $ b ) {
5454 assertType ('string ' , $ a );
5555 assertType ('int ' , $ b );
5656
5757 return strcasecmp ($ a , (string ) $ b );
5858 }));
5959
60- assertType ('array<int|string, int > ' , array_uintersect ($ nonEmptyArray , $ array1 , static function (mixed $ a , mixed $ b ) {
60+ assertType ('array<int> ' , array_uintersect ($ nonEmptyArray , $ array1 , static function (mixed $ a , mixed $ b ) {
6161 assertType ('int ' , $ a );
6262 assertType ('int ' , $ b );
6363
6464 return $ a <=> $ b ;
6565 }));
6666
67- assertType ('array<int|string, int > ' , array_uintersect ($ array1 , $ nonEmptyArray , static function (mixed $ a , mixed $ b ) {
67+ assertType ('array<int> ' , array_uintersect ($ array1 , $ nonEmptyArray , static function (mixed $ a , mixed $ b ) {
6868 assertType ('int ' , $ a );
6969 assertType ('int ' , $ b );
7070
7171 return $ a <=> $ b ;
7272 }));
7373
74- assertType ('array<int|string, int > ' , array_uintersect ($ array1 , $ arrayShape1 , static function (mixed $ a , mixed $ b ) {
74+ assertType ('array<int> ' , array_uintersect ($ array1 , $ arrayShape1 , static function (mixed $ a , mixed $ b ) {
7575 assertType ('int ' , $ a );
7676 assertType ('int|string ' , $ b );
7777
7878 return $ a <=> $ b ;
7979 }));
8080
81- assertType ("array<'foo'|0 , int|string> " , array_uintersect ($ arrayShape1 , $ array1 , static function (mixed $ a , mixed $ b ) {
81+ assertType ("array<0| 'foo', int|string> " , array_uintersect ($ arrayShape1 , $ array1 , static function (mixed $ a , mixed $ b ) {
8282 assertType ('int|string ' , $ a );
8383 assertType ('int ' , $ b );
8484
8585 return $ a <=> $ b ;
8686 }));
8787
88- assertType ("array<'bar'|'foo', string> " , array_uintersect ($ arrayShape2 , $ array1 , static function (mixed $ a , mixed $ b ) {
88+ assertType ("array<'bar'|'foo', int| string> " , array_uintersect ($ arrayShape2 , $ array1 , static function (mixed $ a , mixed $ b ) {
8989 assertType ('int|string ' , $ a );
9090 assertType ('int ' , $ b );
9191
0 commit comments