March 05, 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=10

           Summary: Mixin variables not being properly initialized
           Product: D
           Version: 0.148
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: braddr@puremagic.com
        ReportedBy: sean@f4.ca


Note that if I uncomment the printf line in main then the output is:

0
0

as it should be.


C:\code\d\bugs>type 147_1.d
import std.c.stdio;

template mix()
{
    int i;
    void print() { printf( "%i\n", i ); }
}

void main()
{
    mixin mix!();

    print();
    //printf( "%i\n", i );
}
C:\code\d\bugs>dmd 147_1.d
C:\bin\dmd\bin\..\..\dm\bin\link.exe 147_1,,,user32+kernel32/noi;

C:\code\d\bugs>147_1
4202539

C:\code\d\bugs>

DStress test cases:

http://dstress.kuehne.cn/run/m/mixin_17_A.d http://dstress.kuehne.cn/run/m/mixin_17_B.d http://dstress.kuehne.cn/run/m/mixin_17_C.d http://dstress.kuehne.cn/run/m/mixin_17_D.d http://dstress.kuehne.cn/run/m/mixin_17_E.d http://dstress.kuehne.cn/run/m/mixin_17_F.d


--