Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions Zend/tests/named_params/internal_variadics.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,14 @@ try {
echo $e->getMessage(), "\n";
}

try {
$array = [1, 2];
array_push($array, ...['values' => 3]);
} catch (ArgumentCountError $e) {
echo $e->getMessage(), "\n";
}
?>
--EXPECT--
array_merge() does not accept unknown named parameters
array_diff_key() does not accept unknown named parameters
Internal function array_merge() does not accept named variadic arguments
Internal function array_diff_key() does not accept named variadic arguments
Internal function array_push() does not accept named variadic arguments
5 changes: 3 additions & 2 deletions Zend/zend_API.c
Original file line number Diff line number Diff line change
Expand Up @@ -370,8 +370,9 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_unexpected_extra_named_error(void)
{
const char *space;
const char *class_name = get_active_class_name(&space);
zend_argument_count_error("%s%s%s() does not accept unknown named parameters",
class_name, space, get_active_function_name());
zend_argument_count_error("Internal function %s%s%s() does not accept named variadic arguments",
class_name, space, get_active_function_name()
);
}

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) /* {{{ */
Expand Down
Loading