On Fri, 06 Feb 2009 11:25:37 +0300, <d-bugm...@puremagic.com> wrote:
http://d.puremagic.com/issues/show_bug.cgi?id=2647
Summary: typedef's and struct constructors
Product: D
Version: 2.023
Platform: PC
OS/Version: All
Status: NEW
Keywords: spec
Severity: minor
Priority: P2
Component: DMD
AssignedTo: bugzi...@digitalmars.com
ReportedBy: s.d.hamm...@googlemail.com
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.
Ouch!