https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109136
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[concepts] initializer_list |initializer_list |constructor constraint |constructor constraint and |should require static_cast |explicit conversion |for explicit conversion |operator |operator | --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This has nothing to do with concepts really: ``` #include <initializer_list> struct foo { explicit operator int(); }; template <class From, class To> void f(From x) { std::initializer_list<To>{ x }; } void g() { f<foo, int>(foo{}); } ``` GCC accepts the above example but clang rejects it.