2 // { dg-do compile { target c++11 } }
15 : public B, public C { };
17 template<typename From, typename To>
18 class mini_is_convertible
21 typedef struct { char arr[2]; } two;
23 template<typename To1>
24 static void test_aux(To1);
26 template<typename To1, typename From1>
27 static decltype(test_aux<To1>(std::declval<From1>()), one())
30 template<typename, typename>
34 static const bool value = sizeof(test<To, From>(0)) == 1;
37 template<typename From, typename To>
38 const bool mini_is_convertible<From, To>::value;
40 static_assert (!mini_is_convertible<D*, A*>::value, "");
41 static_assert (!mini_is_convertible<A*, D*>::value, "");
42 static_assert (!mini_is_convertible<D&, A&>::value, "");
43 static_assert (!mini_is_convertible<A&, D&>::value, "");
44 static_assert (!mini_is_convertible<D, A>::value, "");
45 static_assert (!mini_is_convertible<A, D>::value, "");