class C(T){} class CC(T){} struct S(T){} struct SS(T){} void main() { import std.stdio; writeln(typeid(S!(SS!int)).name); // S!(SS!(int)).S writeln(typeid(C!(CC!int)).name); // C!(CC).C } Is there a way to get the full type info in the name for a templated class (i.e. like the struct)?