mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 13:10:12 +03:00
28 lines
862 B
D
28 lines
862 B
D
/*
|
|
TEST_OUTPUT:
|
|
----
|
|
fail_compilation/ice12727.d(16): Error: template instance `IndexTuple!(1, 0)` recursive template expansion
|
|
fail_compilation/ice12727.d(16): Error: alias `ice12727.IndexTuple!(1, 0).IndexTuple` recursive alias declaration
|
|
fail_compilation/ice12727.d(23): Error: template instance `ice12727.IndexTuple!(1, 0)` error instantiating
|
|
fail_compilation/ice12727.d(27): instantiated from here: `Matrix!(float, 3)`
|
|
fail_compilation/ice12727.d(28): instantiated from here: `Vector!(float, 3)`
|
|
----
|
|
*/
|
|
template IndexTuple(int e, int s = 0, T...)
|
|
{
|
|
static if (s == e)
|
|
alias IndexTuple = T;
|
|
else
|
|
alias IndexTuple = IndexTuple!(e);
|
|
}
|
|
|
|
struct Matrix(T, int N = M)
|
|
{
|
|
pure decomposeLUP()
|
|
{
|
|
foreach (j; IndexTuple!(1)) {}
|
|
}
|
|
}
|
|
|
|
alias Vector(T, int M) = Matrix!(T, M);
|
|
alias Vector3 = Vector!(float, 3);
|