diff options
-rw-r--r-- | Zend/tests/typehints/fq_nullable.phpt | 13 | ||||
-rw-r--r-- | Zend/zend_compile.c | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Zend/tests/typehints/fq_nullable.phpt b/Zend/tests/typehints/fq_nullable.phpt new file mode 100644 index 0000000000..24ba2ffa62 --- /dev/null +++ b/Zend/tests/typehints/fq_nullable.phpt @@ -0,0 +1,13 @@ +--TEST-- +Fully-qualified nullable parameter type +--FILE-- +<?php + +namespace Foo; +function test(?\stdClass $param) {} +test(new \stdClass); + +?> +===DONE=== +--EXPECT-- +===DONE=== diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index fc77c6ad2f..b61a819528 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -5140,6 +5140,7 @@ void zend_compile_params(zend_ast *ast, zend_ast *return_type_ast) /* {{{ */ op_array->fn_flags |= ZEND_ACC_HAS_TYPE_HINTS; arg_info->allow_null = has_null_default || is_explicitly_nullable; + type_ast->attr &= ~ZEND_TYPE_NULLABLE; zend_compile_typename(type_ast, arg_info); if (arg_info->type_hint == IS_VOID) { |