Hi Carlos, Thanks for the feedback.
> - It would be great to have some mention of the performance cost of this > feature, both for code which does not use generics and for code that does use > them The design goal is zero runtime cost for code that doesn't use generics. Code paths that don't go through turbofish should compile to byte-identical bytecode as without the RFC. The verify opcode is only emitted at turbofish sites, so non-generic code never executes it. The current implementation shows around 0.1% benchmark drift in either direction, which is at the noise floor and within the margin you'd expect from any unrelated engine change. I haven't focused on performance optimization yet, the goal at this stage is correctness, not micro-tuning. However, the final number should show zero impact for non-generic code. Code that does use turbofish pays the cost of the arity-and-bound check at the call site, which is dominated by the type comparison itself (the same type comparison the engine does for any typed parameter), not by dispatch overhead. > - It would be great to be able to see how the userland samples from Laravel, > Doctrine, etc... would look when using this new syntax, maybe you could add a > new section with this Agreed. I'll add a parallel section showing what each example looks like in the proposed native syntax, so readers can see the migration directly. Cheers, Seifeddine.
