https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109247
--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> ---
No templates (so it's ambiguous, but the problem is the same):
struct B { int a; };
struct C {
explicit C (int);
C& operator= (B);
C& operator= (const C&);
};
void f(C x)
{
x = { 42 };
}
