module dls.util.constructor; mixin template Constructor(T) { this() { foreach (member; __traits(derivedMembers, T)) { static if (is(typeof(__traits(getMember, T, member)) == class)) { import std.format : format; mixin(format!"%s = new %s();"(member, __traits(identifier, typeof(__traits(getMember, T, member))))); } } } }