2 // { dg-do compile { target c++11 } }
4 template<typename T> struct A {};
6 template<typename T> struct shared_ptr { };
7 template<typename T> using APtr = shared_ptr<A<T>>;
9 template<typename T> struct foo;
10 template<typename T> struct foo<shared_ptr<T>> { };
11 template<typename T> struct foo<APtr<T>> { };
13 foo<shared_ptr<A<int>>> aa;