1 /*
2 TEST_OUTPUT:
3 ----
4 fail_compilation/ice12727.d(16): Error: alias ice12727.IndexTuple!(1, 0).IndexTuple recursive alias declaration
5 fail_compilation/ice12727.d(23): Error: template instance ice12727.IndexTuple!(1, 0) error instantiating
6 fail_compilation/ice12727.d(27):        instantiated from here: Matrix!(float, 3)
7 fail_compilation/ice12727.d(28):        instantiated from here: Vector!(float, 3)
8 ----
9 */
10 
11 template IndexTuple(int e, int s = 0, T...)
12 {
13     static if (s == e)
14         alias IndexTuple = T;
15     else
16         alias IndexTuple = IndexTuple!(e);
17 }
18 
19 struct Matrix(T, int N = M)
20 {
decomposeLUPMatrix21     pure decomposeLUP()
22     {
23         foreach (j; IndexTuple!(1)) {}
24     }
25 }
26 
27 alias Vector(T, int M) = Matrix!(T, M);
28 alias Vector3 = Vector!(float, 3);
29