Summary: static this() in template is not executed in .lib
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD

--- Comment #0 from 2012-02-29 08:08:17 PST ---
The situation is like this.(dmd 2.058)

template typestring( T ) {
    string typestring = T.stringof;

    static this() {
alias typestring!int ti;
>dmd -lib -H libtest.d

import std.stdio;
import libtest;         // <- libtest.di is imported.
pragma( lib, "libtest.lib" );

alias typestring!uint tui;
//mixin typestring!uint tui; // it is no matter, alias or mixin.

void main() {
    //writeln( ti); // <- uncomment to Assertion failure
    writeln( tui ); // <- with no Assertion failure, "uint" is printed.
>dmd test.d

When libtest.d is imported, or when I write the body code of the static this()
to libtest.di, assertion failure occur.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to