On Saturday, 24 October 2015 at 16:05:15 UTC, bitwise wrote:
[...]
class TypeInfo {}
class TypeInfoImpl(T) : TypeInfo {}
class BaseObject {
static TypeInfo typeInfo(this This)() {
return TypeInfoImpl!This();
}
static TypeInfo info = typeInfo();
}
class Foo : BaseObject {
// also has 'info' with correct info for 'Foo'.
}
[...]
Bit
Realizing now that this was a little bit of a brain fart...
My point is though, that it would be awesome if we could have
functionality automatically generated by the compiler for all
subclasses...but have it useable as a virtual method.
Maybe:
class Base {
/* virtual function that is automatically
instantiated for all subclasses */
synthesized void foo(this This)() {
doSomething!This;
}
}
class Derived : Base {
// foo automatically overridden for this class.
}
Bit