2 // { dg-do compile { target c++11 } }
5 explicit A() = default;
9 explicit B() = default;
18 explicit D() = default;
21 template<typename T> void f() {
22 T t = {}; // { dg-error "explicit" }
24 template<typename T> void g() {
26 x({}); // { dg-error "explicit" }
31 f<A>(); // { dg-message "required from here" }
32 f<B>(); // { dg-message "required from here" }
33 f<C>(); // { dg-message "required from here" }
34 f<D>(); // { dg-message "required from here" }
36 g<A>(); // { dg-message "required from here" }
37 g<B>(); // { dg-message "required from here" }
38 g<C>(); // { dg-message "required from here" }
39 g<D>(); // { dg-message "required from here" }