On Mon, May 18, 2009 at 5:12 PM, Jarrett Billingsley <jarrett.billings...@gmail.com> wrote: > ...
Aaand for contrast, if we had __ident and static foreach: final class Finalize(T) : T { this(T...)(T args) if(is(typeof(new T(args)))) { super(args); } static foreach(member; __traits(allMembers, T)) static if(__traits(isVirtualFunction, __traits(getMember, T, member)) && !__traits(isFinalFunction, __traits(getMember, T, member))) override ReturnType!(__traits(getMember, T, member)) __ident(member)(ParameterTypeTuple!(__traits(getMember, T, member) args) { return super.__ident(member)(args); } }