DIP8: Templating ClassInfo and TypeInfo

dsimcha dsimcha at yahoo.com
Mon Nov 2 19:18:16 PST 2009


== Quote from Andrei Alexandrescu (SeeWebsiteForEmail at erdani.org)'s article
> 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 think ClassInfo should be merged with TypeInfo. There should be no
> more classinfo member, only e.g. meta.typeid(type) and meta.typeid(object).
> Andrei

At first glance (not having thought about it in detail) I tend to agree.  However,
this is somewhat orthogonal to what I'm proposing.  What I'm proposing has more to
do with the implementation of RTTI than the interface to it.



More information about the Digitalmars-d mailing list