[Issue 7611] New: static this() in template is not executed in .lib
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Feb 29 08:08:18 PST 2012
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: nobody at puremagic.com
ReportedBy: sweatygarlic at yahoo.co.jp
--- Comment #0 from sweatygarlic at 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: -------
More information about the Digitalmars-d-bugs
mailing list