https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109136
Bug ID: 109136 Summary: [concepts] initializer_list constructor constraint should require static_cast for explicit conversion operator Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ldalessandro at gmail dot com Target Milestone: --- The following concept should fail the static_assert, but passes (I should need a static_cast here). ``` #include <initializer_list> template <class From, class To> concept implicit_convertible_to = requires(From x) { std::initializer_list<To>{ x }; }; struct foo { explicit operator int(); }; static_assert(implicit_convertible_to<foo, int>); ``` Live: https://godbolt.org/z/GffP9f8o7