Dear Internals,

I have moved the Return Types RFC[1] into voting phase. A few changes
have happened since it was originally announced but have been covered
by discussion.

Return types are now invariant. This means a sub-type must declare the
same return type as its super-type's method when overriding it.
Aliases such as self and parent must resolve to the same type.

Also note that picking invariance now does not mean we can't support
covariance later. This decision was a trade-off of my time and the
projected timeline for PHP 7. I was not confident I could produce an
excellent design and implementation in time for PHP 7 if I chose
covariance instead.

There is no reflection support for return types; another RFC[2] will
handle this.

Dmitry updated a sizeable chunk of the implementation[3] to work on
much more recent master branch. Thanks, Dmitry. I have updated it to
work on the latest master version as of the time of this writing and
altered one or two things to bring it into line with the RFC.

The voting period will end during the evening of 2015-01-23 in UTC-7.
This period is around ten days, which I hope is enough time for
everyone to be able to vote.

  [1]: https://wiki.php.net/rfc/return_types#vote
  [2]: https://wiki.php.net/rfc/reflectionparameter.typehint
  [3]: https://github.com/php/php-src/pull/997

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

Reply via email to