https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89836
Bug ID: 89836
Summary: converted constant expression of type bool and
explicit conversion functions
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
struct W {
constexpr explicit operator bool() { return true; };
};
struct U {
explicit(W()) U(int);
};
doesn't compile because of the "explicit" specifier. But it should,
<http://eel.is/c++draft/expr.const#def:contextually_converted_constant_expression_of_type_bool>
doesn't require converting conversions only.