3 // { dg-options "-std=c++2a" }
10 class D { public: operator C() { return c; } C c; };
12 template <typename T1, typename T2>
14 explicit(!std::is_convertible_v<T1, T2>)
26 S<int, int> s{ 1, 2 };
27 S<int, int> s2 = { 1, 2 };
28 S<B*, A*> s3 = { &b, &a };
29 S<A*, B*> s4 = { &a, &b }; // { dg-error "converting" }
30 S<B*, C*> s5 = { &b, &c }; // { dg-error "converting" }
31 S<D, C> s6 = { d, c };