blob: 2204c250cec7dc0251d1d2ebe64eb3fa26203309 [file] [log] [blame]
// { dg-do compile { target c++11 } }
// Exercise some member alias templates ...
template<class T, class U> class A0 {};
template<class T>
struct A1 {
template<class U> struct S {};
template<class U> using AA0 = A0<T, U>;
void f(A0<T, int>);
void
foo()
{
AA0<int> a;
const AA0<int> b;
f(a);
f(b);
}
};
void
bar()
{
A1<int> a1;
a1.foo();
A1<int>::AA0<int> a1aa0;
a1.f(a1aa0);
}
// ... some simple member alias ...
struct B {
using A = int;
};
B::A a;
// ... and some simple alias
using Int = int;