http://d.puremagic.com/issues/show_bug.cgi?id=7611
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 AssignedTo: nob...@puremagic.com ReportedBy: sweatygar...@yahoo.co.jp --- Comment #0 from sweatygar...@yahoo.co.jp 2012-02-29 08:08:17 PST --- The situation is like this.(dmd 2.058) ==================== libtest.d -------------------- template typestring( T ) { string typestring = T.stringof; static this() { assert(0); } } alias typestring!int ti; -------------------- >dmd -lib -H libtest.d test.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 >./test.exe >uint ==================== When libtest.d is imported, or when I write the body code of the static this() to libtest.di, assertion failure occur. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------