diff --git a/NEWS b/NEWS index e0d1de309b3..d958329b874 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.7 +- Core: + . Fixed bug GH-11152 (Unable to alias namespaces containing reserved class + names). (ilutov) + - Opcache: . Fixed bug GH-11134 (Incorrect match default branch optimization). (ilutov) diff --git a/Zend/tests/gh11152.phpt b/Zend/tests/gh11152.phpt new file mode 100644 index 00000000000..4f0b7d9cbb0 --- /dev/null +++ b/Zend/tests/gh11152.phpt @@ -0,0 +1,20 @@ +--TEST-- +GH-11152: Allow aliasing namespaces containing reserved class names +--FILE-- + +--EXPECT-- +string(8) "string\C" diff --git a/Zend/tests/use_statement/aliasing_builtin_types.phpt b/Zend/tests/use_statement/aliasing_builtin_types.phpt deleted file mode 100644 index 681a77c24b2..00000000000 --- a/Zend/tests/use_statement/aliasing_builtin_types.phpt +++ /dev/null @@ -1,10 +0,0 @@ ---TEST-- -Aliasing built-in types ---FILE-- - ---EXPECTF-- -Fatal error: Cannot alias 'bool' as it is a built-in type in %s on line %d diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 9036fc8ca66..53fb5c7f4f7 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -8124,12 +8124,6 @@ static void zend_compile_use(zend_ast *ast) /* {{{ */ zend_string *old_name = zend_ast_get_str(old_name_ast); zend_string *new_name, *lookup_name; - /* Check that we are not attempting to alias a built-in type */ - if (type == ZEND_SYMBOL_CLASS && zend_is_reserved_class_name(old_name)) { - zend_error_noreturn(E_COMPILE_ERROR, - "Cannot alias '%s' as it is a built-in type", ZSTR_VAL(old_name)); - } - if (new_name_ast) { new_name = zend_string_copy(zend_ast_get_str(new_name_ast)); } else {