For example: --- class Output { this(T...)(T msg) { writeln(msg); } } new Output("Hello, ", 42); --- ends in an "Error: no constructor for Output". If you make it as an Exception: --- class MyError : Exception { this(T...)(T msg) { super(text(msg)); } } --- It ends in "Error: constructor test.MyError.this conflicts with template test.MyError.__ctor(T...)". Same with Throwable or Error as base class (probably with all others, too). I have this not tested in other configurations ... Ps: Sorry for bad english :)
*** This issue has been marked as a duplicate of issue 435 ***