Am 10.10.2017 um 18:41 schrieb Niklas Keller:
2017-10-10 17:10 GMT+02:00 li...@rhsoft.net <mailto:li...@rhsoft.net> <li...@rhsoft.net <mailto:li...@rhsoft.net>>:


    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
            
<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
            <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);


Yes, but `array_map` also uses weak types for the callback, like any other internal function call.

But `call_user_func` is also special-cased, maybe we should do the same with the reflection calls.

All in all, two typing modes were a bad idea to begin with, mostly because nobody payed attention to callbacks

the two typing modes are perfect and when you converted a 15 years old codebase to strcit-ytpes and type-hints everywehere you know why - first you start with typehints and you can't do that strict or you will burn out and give up

but when i define strict types in a PHP file everything but code in includes has to be strict typed inherited

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

Reply via email to