3 ms·
When I frist saw the title of Zach Laine's talk, I was confused too. Type erasure for me is what happens with generics in Java, i.e. type information is discard
by subb 12y ago
When I frist saw the title of Zach Laine's talk, I was confused too. Type erasure for me is what happens with generics in Java, i.e. type information is discarded after compilation.
In this case, the type is still present at runtime. I saw this technique described as "type safe void*", which is paradoxal to me.
However, I do get the idea behind this, but I think "type erasure" is a wrong name for it.
- jonsterling 12y agoYes, I think this stuff has nothing to do at all with type erasure. it's very confusing when a well defined concept gets appropriated for something that is very different, and totally unrelated.
- Sharlin 12y agoNot sure about its exact origins, but in the C++ context the usage is pretty well established. AFAIK it was first used to denote the way std::function (then boost::function) is able to hide the actual type of a callable object while retaining type safety.