Hi internals,
I would like to propose a new RFC titled “Prevent instantiation and cloning of __PHP_Incomplete_Class”.
RFC: https://wiki.php.net/rfc/deprecate-incomplete-class-instantiation
Implementation PR: https://github.com/php/php-src/pull/21325
This RFC proposes to disallow direct instantiation and cloning of the internal class __PHP_Incomplete_Class.
This change introduces a backward compatibility break. The expected impact is small, as __PHP_Incomplete_Class is an internal class and not intended for direct use. Only code that explicitly instantiates or clones it would be affected.
I have two immediate questions for discussion:
-
Should we target PHP 8.6 or PHP 9.x? Given the limited scope of the break, I am currently leaning towards 8.6, though this is a (small) BC break. If we lean towards 9.x, I propose to add deprecations in 8.6.
-
Should instantiation and cloning be voted on separately, or is a single combined vote acceptable?
Feedback is very welcome.
Regards,
Jordi Kroon