On Tue, Jul 9, 2019 at 12:22 PM Claude Pache <claude.pa...@gmail.com> wrote:
> > > > Le 9 juil. 2019 à 12:09, Andreas Heigl <andr...@heigl.org> a écrit : > > > > > > > > Am 09.07.19 um 12:06 schrieb Christian Schneider: > >> Am 09.07.2019 um 11:30 schrieb Marco Pivetta <ocram...@gmail.com>: > >>> I wasn't sure about the full implications of this, but after some > thought, > >>> the worst that can happen is excessive strictness, requiring to drop a > >>> single declaration on top of a file 👍 > >> > >> When you drop the declaration on top of the file the semantics of your > operators suddenly change, e.g. > >> "42" < "7" > >> changes from true to false and you get subtle bugs. > >> > >> And if you try to read other people's code (or even try to copy/paste > it) then make sure you keep in mind which mode they are programming in. > > > > But that's the same for `declare(strict_types=1);` > > > > Cheers > > > > Andreas > > No, it’s not the same thing as declare(strict_types=1). > > With declare(strict_types=1), you just get additional TypeErrors. It will > not actually change the semantics of code that works in both > non-strict-types mode and strict-types mode. This is a useful feature when > refactoring legacy code. > > The worst thing that can happen with declare(strict_types=1), is that code > won’t work any more. > > The worst thing that can happen with declare(strict_operators=1), is that > code will change semantics. > > —Claude > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > After discussing it with Nikita and Derick, I've decided to close the voting for this RFC for now. The change is too large to merge it this choose to a feature freeze. Additionally, it seems that more discussion is required. I will reopen the RFC at a later moment, targetting it at PHP 8. Regards, Arnold