https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102283
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ppalka at gcc dot gnu.org
--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced testcase:
struct A { };
struct B { };
void f(A&&); // #1
void f(const B&) = delete; // #2
int main() {
f({});
}
It seems Clang and MSVC consider the ICS for #1 to be better than that for #2,
but I'm not sure why.
According to http://eel.is/c++draft/over.ics.rank#3.3 the two ICSes should be
incomparable since they initialize different classes, so at least according to
that paragraph it appears GCC is behaving correctly here.