PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / template / typedef26.C
blob7f4bc6b5ceaf1cb6dafd2ae77609750636f0cc6b
1 // Contributed by Dodji Seketeli <dodji@redhat.com>
2 // Origin: PR c++/42225
3 // { dg-do compile }
5 struct A
7     typedef int TI;
8 };
10 template<class T0>
11 struct S0
13     int i;
16 template<class _T, int>
17 struct S1
19     typedef _T T;
20     typedef typename T::TI TTI;
21     typedef S0<TTI> TT0;
22     typedef S0<typename T::TI> TT1;
25 template<class T>
26 void
27 foo(const T&)
29     typedef typename T::TI TTI;
30     typedef S0<TTI> TT1;
31     typedef S0<typename T::TI> TT2;
34 int
35 main()
37     A a;
38     foo (a);