Re: [VOTE] Strict operators directive
| From: | Marco Pivetta | Date: | Tue, 09 Jul 2019 10:12:00 +0000 |
| Subject: | Re: [VOTE] Strict operators directive | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-106196@lists.php.net to get a copy of this message | ||
On Tue, Jul 9, 2019, 12:06 Christian Schneider <cschneid@cschneid.com>
wrote:
> Am 09.07.2019 um 11:30 schrieb Marco Pivetta <ocramius@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.
>
> - Chris
>
>
> Hi Chris,
That is already true for
strict_types: my only worry with this directive
so far is hitting edge cases that I didn't think of yet (requiring
disabling it selectively).
Doing that is pretty harmless if combined with testing and static analysis
(which are an unavoidable assumption).
Another way to restrict this RFC further is to allow this directive only
when strict_types is already enabled, reducing the possible permutations
of language behaviour.