mirror of
https://github.com/danog/psalm.git
synced 2024-11-26 20:34:47 +01:00
Fix array_filter callback type
Fix https://github.com/vimeo/psalm/issues/9068
This commit is contained in:
parent
44a0d4ce9f
commit
f3e9263ea4
@ -371,7 +371,7 @@ return [
|
||||
'array_diff_ukey\'1' => ['array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'],
|
||||
'array_fill' => ['array<int,mixed>', 'start_index'=>'int', 'count'=>'int', 'value'=>'mixed'],
|
||||
'array_fill_keys' => ['array', 'keys'=>'array', 'value'=>'mixed'],
|
||||
'array_filter' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar|null', 'mode='=>'int'],
|
||||
'array_filter' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,array-key=):mixed|null', 'mode='=>'int'],
|
||||
'array_flip' => ['array<string|int>', 'array'=>'array<string|int>'],
|
||||
'array_intersect' => ['array', 'array'=>'array', '...arrays='=>'array'],
|
||||
'array_intersect_assoc' => ['array', 'array'=>'array', '...arrays='=>'array'],
|
||||
|
@ -553,8 +553,8 @@ return [
|
||||
'new' => ['array', 'array'=>'array', '...arrays='=>'array'],
|
||||
],
|
||||
'array_filter' => [
|
||||
'old' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar', 'mode='=>'int'],
|
||||
'new' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar|null', 'mode='=>'int'],
|
||||
'old' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,array-key=):mixed', 'mode='=>'int'],
|
||||
'new' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,array-key=):mixed|null', 'mode='=>'int'],
|
||||
],
|
||||
'array_key_exists' => [
|
||||
'old' => ['bool', 'key'=>'string|int', 'array'=>'array|object'],
|
||||
|
@ -9288,7 +9288,7 @@ return [
|
||||
'array_diff_ukey\'1' => ['array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'],
|
||||
'array_fill' => ['array<int,mixed>', 'start_index'=>'int', 'count'=>'int', 'value'=>'mixed'],
|
||||
'array_fill_keys' => ['array', 'keys'=>'array', 'value'=>'mixed'],
|
||||
'array_filter' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar', 'mode='=>'int'],
|
||||
'array_filter' => ['array', 'array'=>'array', 'callback='=>'callable(mixed,array-key=):mixed', 'mode='=>'int'],
|
||||
'array_flip' => ['array<string|int>', 'array'=>'array<string|int>'],
|
||||
'array_intersect' => ['array', 'array'=>'array', '...arrays'=>'array'],
|
||||
'array_intersect_assoc' => ['array', 'array'=>'array', '...arrays'=>'array'],
|
||||
|
@ -29,6 +29,18 @@ class ArrayFunctionCallTest extends TestCase
|
||||
'$e' => 'array<string, int<0, 10>|null>',
|
||||
],
|
||||
],
|
||||
'arrayFilterObject' => [
|
||||
'code' => '<?php
|
||||
$e = array_filter(
|
||||
[(object) [], null],
|
||||
function($i) {
|
||||
return $i;
|
||||
}
|
||||
);',
|
||||
'assertions' => [
|
||||
'$e' => 'array<int<0, 1>, object>',
|
||||
],
|
||||
],
|
||||
'positiveIntArrayFilter' => [
|
||||
'code' => '<?php
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user