diff --git a/Zend/tests/named_params/internal_variadics.phpt b/Zend/tests/named_params/internal_variadics.phpt index 3599f644ac977..8312bde406d21 100644 --- a/Zend/tests/named_params/internal_variadics.phpt +++ b/Zend/tests/named_params/internal_variadics.phpt @@ -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 diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 0881a169dfa7d..5ae7c7a79340d 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -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) /* {{{ */