Skip to content

Commit

Permalink
Fix issue #2201 (#2212)
Browse files Browse the repository at this point in the history
  • Loading branch information
Guuzen authored and muglug committed Oct 6, 2019
1 parent 064d488 commit 50df286
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 12 deletions.
20 changes: 8 additions & 12 deletions src/Psalm/Internal/Stubs/CoreGenericFunctions.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,12 @@ function array_unique(array $arr, int $sort_flags = 0)
*
* @param array<TKey, TValue> $arr
* @param array $arr2
* @param array|null $arr3
* @param array|null $arr4
* @param array ...$arr3
*
* @return array<TKey, TValue>
* @psalm-pure
*/
function array_intersect(array $arr, array $arr2, array $arr3 = null, array $arr4 = null)
function array_intersect(array $arr, array $arr2, array ...$arr3)
{
}

Expand All @@ -61,13 +60,12 @@ function array_intersect(array $arr, array $arr2, array $arr3 = null, array $arr
*
* @param array<TKey, TValue> $arr
* @param array $arr2
* @param array|null $arr3
* @param array|null $arr4
* @param array ...$arr3
*
* @return array<TKey, TValue>
* @psalm-pure
*/
function array_intersect_key(array $arr, array $arr2, array $arr3 = null, array $arr4 = null)
function array_intersect_key(array $arr, array $arr2, array ...$arr3)
{
}

Expand All @@ -92,13 +90,12 @@ function array_combine(array $arr, array $arr2)
*
* @param array<TKey, TValue> $arr
* @param array $arr2
* @param array|null $arr3
* @param array|null $arr4
* @param array ...$arr3
*
* @return array<TKey, TValue>
* @psalm-pure
*/
function array_diff(array $arr, array $arr2, array $arr3 = null, array $arr4 = null)
function array_diff(array $arr, array $arr2, array ...$arr3)
{
}

Expand All @@ -108,13 +105,12 @@ function array_diff(array $arr, array $arr2, array $arr3 = null, array $arr4 = n
*
* @param array<TKey, TValue> $arr
* @param array $arr2
* @param array|null $arr3
* @param array|null $arr4
* @param array ...$arr3
*
* @return array<TKey, TValue>
* @psalm-pure
*/
function array_diff_key(array $arr, array $arr2, array $arr3 = null, array $arr4 = null)
function array_diff_key(array $arr, array $arr2, array ...$arr3)
{
}

Expand Down
20 changes: 20 additions & 0 deletions tests/FunctionCallTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,16 @@ function foo() { }
'$d' => 'array<string, int>',
],
],
'arrayDiffIsVariadic' => [
'<?php
array_diff([], [], [], [], []);',
'assertions' => [],
],
'arrayDiffKeyIsVariadic' => [
'<?php
array_diff_key([], [], [], [], []);',
'assertions' => [],
],
'arrayPopMixed' => [
'<?php
/** @var mixed */
Expand Down Expand Up @@ -1032,6 +1042,16 @@ function strtr_wrapper($str, array $replace_pairs) {
'$bar' => 'array<int, int>',
],
],
'arrayIntersectIsVariadic' => [
'<?php
array_intersect([], [], [], [], []);',
'assertions' => [],
],
'arrayIntersectKeyIsVariadic' => [
'<?php
array_intersect_key([], [], [], [], []);',
'assertions' => [],
],
'arrayReduce' => [
'<?php
$arr = [2, 3, 4, 5];
Expand Down

0 comments on commit 50df286

Please sign in to comment.