https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90936
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |marxin at gcc dot gnu.org Resolution|--- |INVALID --- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- Well, clang also considers that ambiguous: $ clang++ pr90936.cc -c pr90936.cc:14:9: error: call to constructor of 'Foo' is ambiguous Foo f2(static_cast<ConvertibleToFoo&&>(ConvertibleToFoo{})); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pr90936.cc:1:8: note: candidate constructor (the implicit copy constructor) struct Foo ^ pr90936.cc:1:8: note: candidate constructor (the implicit move constructor) 1 error generated.