This code
class C(T) {}
struct S(T) {}
pragma(msg, (C!int).stringof);
pragma(msg, (S!int).stringof);
void main() {}
prints out
C
S!(int)
Notice that for the struct, the template arguments are printed, but for some reason, for the class, all you get is the template name and not its arguments. It's listed as if it weren't a templated type, which is both inconsistent and not particularly useful.
Comment #1 by andrej.mitrovich — 2013-02-08T11:26:10Z