1 // PR c++/66405 2 // { dg-do compile { target c++11 } } 3 4 template <typename T, T...> struct B; 5 template <bool... Bools> using and_c = B<bool, +Bools...>; 6 template <typename T, typename U> using Constructible = int; 7 template <typename... Ts> struct common_tuple { 8 template <typename... Us, 9 typename = and_c<Constructible<Ts, Us>{}...> > 10 common_tuple(); 11 void foo(); 12 }; foo()13template <> void common_tuple<>::foo(){} 14