www.digitalmars.com         C & C++   DMDScript  

D - [bug] Recursive template with new style syntax

I guess the "new" style syntax for templates should accept the same 
constructs as when using it with the template keyword.

This code does not compile with DMD0.79, I marked the offending line.

bye,
roel


// ---------------------------------------------
class Nil {}

template TL(T1)
{
     class Impl(T1)
     {
         alias T1  Head;
         alias Nil Tail;
     }
}

template TL(T1,T2)
{
     class Impl(T1)
     {
         alias T1      Head;
         alias TL!(T2) Tail;
     }
}

class Impl(T1)
{
     alias T1        Head;
     alias Nil Tail;
}

class Impl(T1,T2)
{
     alias T1        Head;
     alias Impl!(T2) Tail;
}

alias TL!(int).Impl TL1a;
alias TL!(int,uint).Impl TL1b;	// compiler accepts this

alias Impl!(int) TL2a;
alias Impl!(int,uint) TL2b; 	// <-- offending line
				// compiler does not accept this

int main()
{
     return 0;
}
Jan 31 2004