Re: [RFC] Nullable Types
| From: | Jesse Schalken | Date: | Wed, 20 Apr 2016 17:55:53 +0000 |
| Subject: | Re: [RFC] Nullable Types | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-92561@lists.php.net to get a copy of this message | ||
I read the RFC and it all sounds good to me. I appreciate the care taken to
ensure method compatibility rules are correct, a smooth interop with =null,
and to consider impact on union types if added later (? just becomes sugar).
I'm not sure if it's been mentioned or not, but the position of the ? has
impact on the ability to add a foo[] shorthand for generic arrays. Namely,
if the ? is at the start, then the syntax becomes ambiguous.
string[]? (nullable array of strings)
string?[] (array of nullable strings)
?string[] (ambiguous, need to consult precedence rules and/or use brackets)
I'm not sure how HHVM/Hack deals with that, or if it even has the foo[]
shorthand.
On Thu, Apr 14, 2016 at 1:42 PM, Levi Morrison <morrison.levi@gmail.com>
wrote:
> As alluded to in an earlier email today[1] I am now moving the
> Nullable Types RFC[2] to the discussion phase. In a nutshell this RFC
> proposes syntax for declaring a type to alternatively be null.
>
> There is a decision that needs to be made: does the question mark go
> before or after the type name?
>
> function (?Foo $foo);
> function (Foo? $foo);
>
> There are precedents in several languages for each position. Some
> relevant issues to where the question mark goes are noted in the
> RFC[3].
>
> I look forward to a helpful and meaningful discussion!
>
> [1]: http://news.php.net/php.internals/92252
> [2]: https://wiki.php.net/rfc/nullable_types
> [3]: https://wiki.php.net/rfc/nullable_types#position_of
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>