when using typedefs of structs
their constructors return the original type instead of the new type
struct Ca {
this(int a) {
_answer = a / 2;
}
int _answer;
}
void testClasses() {
typedef Ca Da;
Ca a = Ca(84);
Da c = Da(84);
}
tests0.d(38):
Error: cannot implicitly convert expression (((Ca __ctmp276 = __ctmp276 = 0;
) , __ctmp276).this(84)) of type Ca to Da
A cast is required for the code to work.