https://issues.dlang.org/show_bug.cgi?id=3332
RazvanN <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #8 from RazvanN <[email protected]> --- For a normal function, the mixin can be named as explicitly inserted in the overload set: template C () { void fun(int i) { } } class A { mixin C f; alias fun = f.fun; void fun () { } } void main () { auto a = new A(); a.fun(); } However, for constructors you cannot do that since you do not have a name. I tried using __ctor: template C () { this (int i) { ······· } } class A { mixin C f; alias __ctor = f.__ctor; // alias `test.A.__ctor` is not a // constructor; identifiers starting // with `__` are reserved for the implementation ···· this () { } } void main () { auto a = new A(3); } But get the above mentioned error. The solution would be to allow the usage of __ctor in this situation. --
