2 // { dg-do compile { target c++11 } }
5 template <template <typename> class, typename, typename>
8 using C = typename T::D;
10 using D = B<C, int, A>;
12 template <class> constexpr bool foo (A) { return false; }
13 template <class T> struct F {
17 void operator=(F) noexcept(foo <G> (H::D{}));
19 template <typename, typename, typename>
21 template <typename K, typename V, typename H = K>
24 typedef J<long, char> L;
33 bool M::bar () const { n.k = m; return true; }