Which bit of the spec for template instantiation is it that allows the last two lines of the following to compile and work?
import std.stdio;
struct A
{
int a;
}
template Thingie(T)
{
static if (is(T == int))
enum Thingie = 1;
else
enum Thingie = 0;
}
void main()
{
writefln("%d", Thingie!(int));
writefln("%d", Thingie!int);
writefln("%d", Thingie!A);
}
