The battle between strict type declarations vs coercive has been here for a
while. My problem with coercion in detriment of strictness is
that sometimes you DON'T WANT TYPE CASTING AT ALL. This new feature would
create serious impediments. So I wonder if we couldn't have both (strict
and coercive types declarations) and leave the current proposed type
hinting syntax reserved for strict type declarations? Like in:

    function(int $a, (int) $b) {
         // $a will be strict
         // $b will be type casted
    }

This way we can actually choose when to cast and when to be strict and both
features could be voted independently without affect each other possible
future adoptions.

Reply via email to