> Am 15.03.2015 um 18:48 schrieb Anthony Ferrara <ircmax...@gmail.com>:
> 
> Andrea's RFC had the following wording:
> 
>> The only exception to this is the handling of NULL: in order to be 
>> consistent with our existing type hints for classes, callables and arrays, 
>> NULL is not accepted by default, unless the parameter is explicitly given a 
>> default value of NULL. This would work well with the draft Declaring 
>> Nullable Types RFC.
> 
> This proposal has a different behavior here. It explicitly allows
> nulls for types:
> 
> function foo(int $abc) { var_dump($abc); }
> 
> Unlike my proposal and any of Andrea's, calling foo(null) will be
> int(0) instead of an error.
> 
> This is an important distinction as it basically undermines any
> attempt at a nullable RFC, since it makes primitives implicitly
> nullable.
> 
> Anthony.

Anthony,

I think you've got something wrong there. It won't undermine an attempt at a 
nullable RFC.

In the weak scalar typing world, nullables won't change what we accept, but 
what we receive.

function (int|null $abc) { var_dump($abc); }
(or ?int or whatever syntax we will use)

would allow null to *not* be casted here.
Means foo(null) will lead to $abc being null and not int(0) with that signature.

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

Reply via email to