On 25 May 2026 20:26:41 BST, Matthew Brown <[email protected]> wrote: >> https://thephp.foundation/blog/2025/08/05/compile-generics/ is > >That blog post is a year old, and the top comment on the attached Reddit >thread captures my view on it: > >> The problem with such an approach is that it locks generics to be >reified.
I think the two proposals have a lot more overlap than their framing suggests. Both block us from having completely erased generics, because they include *some* reification/monomorphization, but nothing in Gina/Larry's blog post would actually block Seifeddine's proposal as far as I can see. Specifically, if you take everything Seifeddine has implemented, but 1) restrict generic declarations to only interfaces and abstract classes; and 2) remove the "turbofish" syntax completely; then you end up basically with what the blog post suggests. The main difference of opinion is what to do with those "missing" parts: - Larry & Gina proposed just leaving then forbidden until we decide how to implement them - Seifeddine proposed locking in the syntax with some partial checking, but mostly just reflection support >In 2026 runtime-checked types don't make sense in all circumstances, not >when static analysis tools can discover far more bugs, far earlier and >faster, than runtime checks can ever hope to. Elsewhere on this thread, I've put forward some thoughts about having a specific syntax distinction between runtime-checked type information, and SA/reflection-only type information. I'd be interested in your thoughts on that approach. Rowan Tommins [IMSoP]
