> AFAIK removal of generic methods is so that under-the-hood we can switch the 
> methods implementation to a vtable

But shouldn't a vtable be able to handle generics that are attached to the base 
just fine? For instance, the `Test` class has a vtable with a single slot for 
`call`. An instantiation `Test[int]` would point to an `int` instantiation of 
`call`, and a `Test[float]` would point to the `float` instantiation. To my 
knowledge that's how it works in C++.

On the other hand, generics not attached to the base, can result in multiple 
instantiations for a single method. This requires full program analysis, and 
doesn't play well with vtables.

Reply via email to