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.

Reply via email to