]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gdc.test/compilable/ice15789.d
Add D front-end, libphobos library, and D2 testsuite.
[thirdparty/gcc.git] / gcc / testsuite / gdc.test / compilable / ice15789.d
1 // REQUIRED_ARGS: -o-
2 // PERMUTE_ARGS:
3
4 struct InputRange {}
5
6 auto md5OfA(T...)(T ) {}
7 auto md5OfB(T...)(T ) {}
8
9 template fqnSymA(alias T : X!A, alias X, A...)
10 {
11 template fqnTuple(B) { enum fqnTuple = 1; }
12 enum fqnSymA = fqnTuple!A;
13 }
14 template fqnSymB(alias T : X!A, alias X, A...)
15 {
16 template fqnTuple(B) { enum fqnTuple = 1; }
17 enum fqnSymB = fqnTuple!A;
18 }
19
20 void test1() // OK <- NG
21 {
22 md5OfA(InputRange());
23 auto n = fqnSymA!(md5OfA!InputRange);
24 }
25
26 void test2() // OK
27 {
28 auto n = fqnSymB!(md5OfB!InputRange);
29 md5OfB(InputRange());
30 }