blob: 1d49be68a11ba2f9337cd906016202d451463bcc [file] [log] [blame]
// https://issues.dlang.org/show_bug.cgi?id=751
// Compiler segfault on template expansion
extern(C) int printf(const char*, ...);
template TypeTuple( TList... )
{
alias TList TypeTuple;
}
template IndexOf( T, TList... )
{
static if( TList.length == 0 )
const size_t IndexOf = 1;
else static if( is( T == typeof( TList[0] ) ) )
const size_t IndexOf = 0;
else
const size_t IndexOf = 1 + IndexOf!( T, (TList[1 .. $]) );
}
void main()
{
TypeTuple!(int, long) T;
printf( "%u\n", cast(uint)IndexOf!(long, T) );
}