On Fri, 06 Feb 2009 11:25:37 +0300, <d-bugm...@puremagic.com> wrote:


           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);



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.


Reply via email to