https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100644
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:f71ca97def69b8aeb046d716eaea2367736f505e commit r12-885-gf71ca97def69b8aeb046d716eaea2367736f505e Author: Jason Merrill <ja...@redhat.com> Date: Tue May 18 12:06:36 2021 -0400 c++: "perfect" implicitly deleted move [PR100644] Here we were ignoring the template constructor because the implicit move constructor had all perfect conversions. But CWG1402 says that an implicitly deleted move constructor is ignored by overload resolution; we implement that instead by preferring any other candidate in joust, to get better diagnostics, but that means we need to handle that case here as well. gcc/cp/ChangeLog: PR c++/100644 * call.c (perfect_candidate_p): An implicitly deleted move is not perfect. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/implicit-delete1.C: New test.