class C { this() {} this( int x, int y ) {} } void main() { auto c = alloc!(C); auto d = alloc!(C)( 1, 2 ); } T alloc(T, Params ...)( Params params ) { return new T( params ); } $ dmd test test.d(10): Error: expected 0 arguments, not 2