1 // { dg-do compile { target c++11 } }
3 _Tp&& declval() noexcept;
7 static constexpr bool value = b;
10 template <typename To_, typename... From_>
11 class my_is_convertible_many {
13 template <typename To>
18 template <typename To, typename... From>
21 template <typename To, typename... From>
22 static auto test(tag<To, From...>)
23 -> decltype(indirector<To>({declval<From>()...}), bt<true>());
28 static constexpr bool value = decltype(test(tag<To_, From_...>()))::value;
42 static_assert(my_is_convertible_many<Test, A, A>::value,""); // true, correct
43 static_assert(!my_is_convertible_many<Test, B, B>::value,""); // false, correct
44 static_assert(!my_is_convertible_many<Test, C, C>::value,""); // error