Skip to content

Commit e8b72ee

Browse files
committed
chore: improved errror message when passing names parameters for variadic parameter
1 parent 61845cc commit e8b72ee

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

Zend/tests/named_params/internal_variadics.phpt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,14 @@ try {
1515
echo $e->getMessage(), "\n";
1616
}
1717

18+
try {
19+
$array = [1, 2];
20+
array_push($array, ...['values' => 3]);
21+
} catch (ArgumentCountError $e) {
22+
echo $e->getMessage(), "\n";
23+
}
1824
?>
1925
--EXPECT--
20-
array_merge() does not accept unknown named parameters
21-
array_diff_key() does not accept unknown named parameters
26+
array_merge() does not accept named arguments for variadic parameters
27+
array_diff_key() does not accept named arguments for variadic parameters
28+
array_push() does not accept named arguments for variadic parameters

Zend/zend_API.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,8 +370,9 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_unexpected_extra_named_error(void)
370370
{
371371
const char *space;
372372
const char *class_name = get_active_class_name(&space);
373-
zend_argument_count_error("%s%s%s() does not accept unknown named parameters",
374-
class_name, space, get_active_function_name());
373+
zend_argument_count_error("%s%s%s() does not accept named arguments for variadic parameters",
374+
class_name, space, get_active_function_name()
375+
);
375376
}
376377

377378
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_argument_error_variadic(zend_class_entry *error_ce, uint32_t arg_num, const char *format, va_list va) /* {{{ */

0 commit comments

Comments
 (0)