Am 10.10.2017 um 16:57 schrieb Christoph M. Becker:
On 10.10.2017 at 15:41, Sebastian Bergmann wrote:

I consider this a serious bug that leads to unexpected, confusing problems
such as
https://github.com/sebastianbergmann/phpunit/issues/2796#issuecomment-335180273.

I understand Nikita's point of view (see
https://github.com/php/php-src/pull/2837#issuecomment-335405067) that
changing this behavior (aka. fixing this bug) can be considered a
"non-trivial backwards compatibility break". Therefore I would like to
bring this issue to the attention of this list with this mail.

This is most certainly not an *implementation* bug.  The RFC which
introduced strict typing[1] states:

| By default, all PHP files are in weak type-checking mode.

yes but the file in question has strict-types enabled
declare(strict_types=1);

And later:

| This proposal takes the standpoint that it's up to the caller to
| decide how functions should be called.
| […]
| Therefore, this proposal does not allow internal developers to
| “opt-in” to strict typing.

yes but the file in question has strict-types enabled
declare(strict_types=1);

In case of bug #75345 the caller is a method of ReflectionFunction,
which is defined in weak type-checking mode.

yes but the file in question has strict-types enabled
declare(strict_types=1);

One may argue that this is a *design* bug, but after nearly two years of
PHP 7 there may be a lots of code relying on the current behavior, so in
my opinion changing the behavior could not really be regarded as fixing
a bug.

[1] <https://wiki.php.net/rfc/scalar_type_hints_v5>

yes but the file in question has strict-types enabled
declare(strict_types=1);

that decalare line was the explicit wish of the person who wrote the php file


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to