On 17 July 2026 14:20:42 BST, Wendell Adriel <[email protected]> wrote:
>Yeah, I think that we have two paths from here:
>
>1. Doing only Implementation Level 1 for this RFC, it's simple enough to be
>on PHP 8.7 IMO, and then deferring Level 2 and 3 to a new RFC after the
>generics design.
>2. Defer the whole RFC after the generics design and aim for Implementation
>Level 2 or 3 (3 as preferred one).


Your "level 1" sounds similar in spirit to the "bound-erased generics" RFC 
which was just declined: https://wiki.php.net/rfc/bound_erased_generic_types

Reserving the syntax without directly enforcing it was not popular, and could 
actually make it *harder* to add an enforced version later, because you'd be 
changing the behaviour of existing code.

I think this is one of those cases where just talking about the abstract design 
doesn't get us very far without a concrete plan of implementation - there's 
plenty of support for the feature *in theory*, but the reason it hasn't 
happened is that it's really hard to do well within PHP's runtime type model.

Regards,

Rowan Tommins
[IMSoP]

Reply via email to