Reduced: interface IBase {} class Impl(T): IBase { T value; } void main() { IBase a = true ? (new Impl!uint) : (new Impl!string); }
test.d(6,23): Error: cannot implicitly convert expression (new Impl!uint) of type object.Object to test.IBase
Bye, bearophile