import std.stdio;
enum Foo { Hoge }
template Bar(T) { const char[] Bar = T.stringof; }
template Bar2(T) { const char[] Bar2 = (T[]).stringof; }
void main()
{
writeln(Foo.stringof);
writeln(Bar!(Foo));
writeln((Foo[]).stringof);
writeln(Bar2!(Foo));
}
======== result ========
int
int
Foo[]
Foo[]