Perhaps a factory function like opCall or something similar ? class Foo { int x; static Foo opCall (T) (T y) { Foo foo = new Foo; foo.x = y; return foo; } } auto foo = Foo(3);