[Bug c++/93083] [C++20] copy deduction rejected when doing CTAD for NTTP

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 4 22:50:33 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93083

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:a95753214b55d21e5b44eeb098cccf88d44c94dd

commit r11-5752-ga95753214b55d21e5b44eeb098cccf88d44c94dd
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Nov 25 17:05:24 2020 -0500

    c++: Fix deduction from auto template parameter [PR93083]

    The check in do_class_deduction to handle passing one class placeholder
    template parm as an argument for itself needed to be extended to also
handle
    equivalent parms from other templates.

    gcc/cp/ChangeLog:

            PR c++/93083
            * pt.c (convert_template_argument): Handle equivalent placeholders.
            (do_class_deduction): Look through EXPR_PACK_EXPANSION, too.

    gcc/testsuite/ChangeLog:

            PR c++/93083
            * g++.dg/cpp2a/nontype-class40.C: New test.


More information about the Gcc-bugs mailing list