https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66405

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Creduce came up with:

template <typename> struct A;
template <bool> struct enable_if;
template <typename T, T> struct B;
template <bool... Bools> using and_c = A<B<bool, Bools || true...>>;
template <typename...> using Constructible = int;
template <typename... Ts> struct common_tuple {
  template <
      typename... Us,
      typename enable_if<and_c<(int)Constructible<Ts, Us>()...>::value>::type>
  common_tuple();
  void foo();
};
template <> void common_tuple<>::foo(){};

Reply via email to