PR c++/85553
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / alias-decl-3.C
blob2204c250cec7dc0251d1d2ebe64eb3fa26203309
1 // { dg-do compile { target c++11 } }
3 // Exercise some member alias templates ...
5 template<class T, class U> class A0 {};
7 template<class T>
8 struct A1 {
9     template<class U> struct S {};
10     template<class U> using AA0 = A0<T, U>;
12   void f(A0<T, int>);
14   void
15   foo()
16   {
17     AA0<int> a;
18     const AA0<int> b;
19     f(a);
20     f(b);
21   }
24 void
25 bar()
27     A1<int> a1;
28     a1.foo();
29     A1<int>::AA0<int> a1aa0;
30     a1.f(a1aa0);
33 // ... some simple member alias ...
34 struct B {
35     using A = int;
38 B::A a;
40 // ... and some simple alias
42 using Int = int;