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:

1. 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.


2. Should instantiation and cloning be voted on separately, or is a single 
combined vote acceptable?

Feedback is very welcome.

Regards,
Jordi Kroon

Reply via email to