2 // { dg-options -std=c++11 }
4 _Tp&& declval() noexcept;
8 static constexpr bool value = b;
11 template <typename To_, typename... From_>
12 class my_is_convertible_many {
14 template <typename To>
19 template <typename To, typename... From>
22 template <typename To, typename... From>
23 static auto test(tag<To, From...>)
24 -> decltype(indirector<To>({declval<From>()...}), bt<true>());
29 static constexpr bool value = decltype(test(tag<To_, From_...>()))::value;
43 static_assert(my_is_convertible_many<Test, A, A>::value,""); // true, correct
44 static_assert(!my_is_convertible_many<Test, B, B>::value,""); // false, correct
45 static_assert(!my_is_convertible_many<Test, C, C>::value,""); // error