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()13 template <> void common_tuple<>::foo(){}
14