On Friday, 1 May 2015 at 10:04:46 UTC, Namespace wrote:
How about this:---- struct A { int x = 42; } struct B { int x = 7; } T factory(T)() { return T(); } void main() { auto a = factory!(A); } ----
Of course, you can restrict the type to A or B, or both: ---- T factory(T)() if (is(T == A) || is(T == B)) { return T(); } ----