[Bug c++/109136] initializer_list constructor constraint and explicit conversion operator
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 14 22:35:17 GMT 2023
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.
More information about the Gcc-bugs
mailing list