Re: [VOTE] [RFC] Bound-Erased Generic Types
| From: | Alex Rock | Date: | Mon, 15 Jun 2026 11:36:40 +0000 |
| Subject: | Re: [VOTE] [RFC] Bound-Erased Generic Types | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-131269@lists.php.net to get a copy of this message | ||
Le 15/06/2026 à 10:51, Rowan Tommins [IMSoP] a écrit :
On 15 June 2026 09:20:09 BST, Daniil Gentili <daniil.gentili@gmail.com> wrote:The discussion thread on the internals list is already huge, so I guess at least a substantial proportion of the people who voted have already expressed themselves. And to what I've read on the thread, the decision were made on *this RFC*, not on the concept of Generics itself.I agree 100%, voters should take responsibility for their own actions, instead of asking to hold off the vote indefinitely, constantly requesting changes.I think it's generally preferable for the main aim to be reaching consensus, and a vote confirming that consensus, rather than treating votes as something to be "won" and "lost". However, if there's genuine deadlock in a discussion, I guess bringing to a vote is a way to get a decision made.
One of my interpretations is that "complete generics" isn't possible per-se considering the current way the compiler and engine work. However, it's not impossible to implement "generic-like systems", and maybe a smaller RFC, for example about typed arrays/ArrayObject/Iterator, could already bring a lot of value, without having full generics yet.If this RFC is rejected, PHP won’t have generics (at least not in 2026/the first half of 2027 due to the cooling off period of RFCs of the same type).That is, luckily, not what the policy says; it says "it will not be allowed to bring up a rejected proposal for another vote, unless ... the authors make substantial changes to the proposal". So an RFC building on Seifeddine's work but taking a different approach to enforcement could be brought forward at any time. Holding a vote is not, and should not be, a way to block alternatives or counter-proposals. Let's not get into the rhetoric of "this is your only chance for generics". If the vote is going ahead, people should vote on *this specific proposal*, with the specific tradeoffs it includes. It's great that we're making progress towards generics; now let's work together to get the best version of them we can.