Re: [RFC] [Discussion] Bound-Erased Generic Types

From: Date: Mon, 11 May 2026 05:33:32 +0000
Subject: Re: [RFC] [Discussion] Bound-Erased Generic Types
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-130822@lists.php.net to get a copy of this message
On Sun, May 10, 2026 at 1:05 PM Seifeddine Gmati <azjezz@carthage.software> wrote: > > Hello Internals, > > I'd like to start the discussion on a new RFC adding bound-erased > generics types to PHP. > > Generic type parameters can be declared on classes, interfaces, > traits, functions, methods, closures, and arrow functions, with > bounds, defaults, and variance markers. Type parameters erase to their > bound at runtime; the pre-erasure form is preserved for Reflection and > consumed by static analyzers. > > - RFC: https://wiki.php.net/rfc/bound_erased_generic_types > - Implementation: https://github.com/php/php-src/pull/21969 > > Thanks, > Seifeddine. Seifeddine, This is a very interesting RFC, thank you! I have a technical request: can we lower the limit from 255 to a 7-bit max? I've done tons of optimization work in the last 8-10 years of my life, and having a spare bit on things for the future has often been rewarded. And for me, I can't imagine a use-case for having 128-255 type arguments in practice. Do you have any evidence that a 7-bit maximum would be insufficient for real-world code? Thanks, Levi Morrison

« previous php.internals (#130822) next »