Jarrett Billingsley wrote:
The second is worse. __ctor (if it exists) is not virtual, so it's not possible to get a list of overloads of it with __traits. One of two things has to change: either __traits needs a way to get overloads of nonvirtual functions (that seems like an incredible oversight!), or as Sean and others have proposed numerous times, derived classes should inherit ctors. This would eliminate the need to write forwarding constructors in the Finalize class altogether.
http://d.puremagic.com/issues/show_bug.cgi?id=2855