Hi Gina, Máté Máté Kocsis and myself would like to propose deprecating implicitly > nullable parameter types. > > The RFC is available on the wiki at the following address: > https://wiki.php.net/rfc/deprecate-implicitly-nullable-types >
Thanks for the RFC. I have the same concerns as Larry but I don't have any ideas on how to make the migration more seamless, so personally I'm fine with deprecating in 8.4 and dropping in 9.0. For the record, Symfony was using the reverse rule (removing the nullable flag when the default was null already). This was done to reduce the overall visual debt™, but the arguments in favor of your proposal are sound. I ran php-cs-fixer on the codebase, you can see the patch here: https://github.com/symfony/symfony/pull/53612 TL;DR, this is a +/- 2000 lines change that's quite easy to do. I think the RFC is missing some impact analysis BTW, just to be sure voters can look at some data to make a best informed decision. There's one catch-22, which is that I had to manually fix non-optional arguments with default values (as a reminder, they're deprecated too): https://github.com/symfony/symfony/pull/53612/commits/fb9fa26102512090550f9137751f81677c06d5f9 Fixing them can be automated too but this is still a separate code transformation. I think this should be mentioned in the RFC. The impact on the ecosystem is going to be significant for sure, especially because of the previous CS of Symfony. But at least the transition has already started since we merged this in our oldest maintained version. Cheers, Nicolas