dsimcha wrote:
http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP8
Abstract:
Currently, the layout of D's runtime type info, or RTTI, is defined in
object.d. The details of how the fields of each instantiation of these classes
are populated are buried deep inside the compiler. If ClassInfo and TypeInfo
were instead template classes inheriting from some non-templated abstract base
class that defined the interface and field layout, any compile-time
introspection feature could trivially be added to RTTI and made available at
runtime.
I'd say it's a good idea. We have all this crap like TypeInfo.init,
TypeInfo.equals/compare/hash for which there's separate implementations
for each type (like TypeInfo_f in ti_float.d; repeat for each type).
With templated TypeInfos, all these could be trivially provided by the
same code.