February 10, 2006
C:\code\d\bugs>type 145_1.d
void main()
{
    auto t = new MakeTuple!(int,int)();
}

struct Empty
{

}

class Tuple( HeadType, TailType )
{

}

template MakeTuple( T1, T2 )
{
    alias Tuple!( T1, Tuple!( T2 ) ) MakeTuple;
}

template MakeTuple(T1=Empty, T2=Empty, T3=Empty)
{
    static if( is( T1 == Empty ) )
        alias Empty MakeTuple;
    else
        alias Tuple!(T1,MakeTuple!(T2,T3)) MakeTuple;
 }

C:\code\d\bugs>dmd 145_1.d
Assertion failure: 'dim == parameters->dim' on line 260 in file 'template.c'

abnormal program termination

C:\code\d\bugs>
February 11, 2006
Sean Kelly schrieb am 2006-02-10:
> C:\code\d\bugs>type 145_1.d
> void main()
> {
>      auto t = new MakeTuple!(int,int)();
> }
>
> struct Empty
> {
>
> }
>
> class Tuple( HeadType, TailType )
> {
>
> }
>
> template MakeTuple( T1, T2 )
> {
>      alias Tuple!( T1, Tuple!( T2 ) ) MakeTuple;
> }
>
> template MakeTuple(T1=Empty, T2=Empty, T3=Empty)
> {
>      static if( is( T1 == Empty ) )
>          alias Empty MakeTuple;
>      else
>          alias Tuple!(T1,MakeTuple!(T2,T3)) MakeTuple;
>   }
>
> C:\code\d\bugs>dmd 145_1.d
> Assertion failure: 'dim == parameters->dim' on line 260 in file 'template.c'
>
> abnormal program termination
>
> C:\code\d\bugs>

Added to DStress as http://dstress.kuehne.cn/run/t/template_28_A.d

Thomas