We can't relax a named param to a positional param if we encountered
any unknown parameters in the meantime.
echo $e->getMessage(), "\n";
}
+try {
+ test(b: 2, a: 1);
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+
try {
test2(a: 42);
} catch (Error $e) {
?>
--EXPECT--
Unknown named parameter $b
+Unknown named parameter $b
if (fbc) {
arg_num = zend_get_arg_num(fbc, arg_name);
- if (arg_num == arg_count + 1) {
+ if (arg_num == arg_count + 1 && !may_have_undef) {
/* Using named arguments, but passing in order. */
arg_name = NULL;
arg_count++;