On Thu, Apr 22, 2021 at 9:42 AM Máté Kocsis <kocsismat...@gmail.com> wrote:

> Hi Internals,
>
> I've just opened the vote about
> https://wiki.php.net/rfc/internal_method_return_types
> and I will close it on 2021-05-06.
>
> For prior discussion, please see https://externals.io/message/113413
>
> Regards:
> Máté
>

One implication that I didn't fully appreciate is that this also applies to
interfaces. The migration to tentative return types hasn't finished yet,
but we already have

interface JsonSerializable {
    function jsonSerialize(): mixed;
}

Which requires implementers of that interface to also specify "mixed" or a
subtype of "array" in the implementation. I expect that there will also be
at least

interface Countable {
    function count(): int;
}

This feels a bit different than the class case, in that implementing
internal interfaces is common, while extending internal classes is mostly
an artifact of us not adding enough "final"s in the early days.

I'm okay with this, but wanted to point it out.

Regards,
Nikita

Reply via email to