www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Only partial type info for templated classes

reply "cal" <callumenator gmail.com> writes:
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)?
Apr 07 2013
parent reply "Jesse Phillips" <Jessekphillips+D gmail.com> writes:
On Monday, 8 April 2013 at 05:12:24 UTC, cal wrote:
 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)?
File a bug? Not sure if it is expected.
Apr 10 2013
parent "cal" <callumenator gmail.com> writes:
On Wednesday, 10 April 2013 at 18:24:58 UTC, Jesse Phillips wrote:
 On Monday, 8 April 2013 at 05:12:24 UTC, cal wrote:
 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)?
File a bug? Not sure if it is expected.
Yeh filed as enhancement as I wasn't sure either
Apr 10 2013