On 17/11/2016 14:06, Josh Di Fabio wrote:
Apologies, I thought you were simply proposing the following:

interface Countable
{
    function count(): int;
}

No, what Craig is proposing is a type hint that covers both the existing Countable interface and primitives which are naturally countable.

If the union types RFC had passed, you'd be able to say "array|Traversable $foo"; a recent RFC lets you instead say "iterable $foo". The suggestion is to add a keyword which similarly acts as "array|Countable $foo".

Unfortunately, as others have pointed out, it can't be called just "countable", because that's the name of the existing interface. The principle seems sound though, assuming we don't want to go down the route of treating arrays as implementing interfaces.

Regards,
--
Rowan Collins
[IMSoP]

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

Reply via email to