Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / vt-116384.C
blob54d7f0774c5b26af76659b843e9d07f902c3e5e7
1 // PR c++/116384
2 // { dg-do compile { target c++11 } }
4 namespace a {
5 template <bool, typename> struct c;
6 template <typename> struct d;
8 namespace e {
9 namespace g {
10 template <typename> using h = void;
11 template <typename, template <typename> class, typename...> struct detector {};
12 template <template <typename> class i, typename... args>
13 struct detector<h<i<args...>>, i, args...>;
15 template <template <typename> class i, typename... args>
16 using j = g::detector<void, i, args...>;
17 template <bool b, typename k = void> using l = typename a::c<b, k>::m;
18 template <typename> struct conjunction;
19 namespace g {
20 template <typename k> using n = l<conjunction<a::d<k>>::p>;
22 template <typename k, g::n<k> = true> class o;
24 struct r;
25 template <typename k> using q = e::o<k>;
26 void s() { e::j<q, r> f; }