blob: 85b8d6725d73403aff4d349736bc7674a8be421c [file] [log] [blame]
/*
PERMUTE_ARGS:
RUN_OUTPUT:
---
count = 3
---
*/
// https://issues.dlang.org/show_bug.cgi?id=2311
extern(C) int printf(const char*, ...);
__gshared ulong count;
shared static ~this()
{
printf("count = %llu\n", count);
assert(count == 3);
}
template X(uint idx)
{
static ~this()
{
assert(count == idx);
++count;
}
}
void main()
{
// Instantiate module destructors in reverse order
alias x = X!(2);
alias y = X!(1);
alias z = X!(0);
}