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

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

https://gcc.gnu.org/g:91293ffb6af18705ab7857dc47656bdd74a9ce31

commit r13-6922-g91293ffb6af18705ab7857dc47656bdd74a9ce31
Author: Jason Merrill <ja...@redhat.com>
Date:   Tue Mar 28 17:42:23 2023 -0400

    c++: alias ctad refinements [PR109321]

    The two hunks fix missing handling demonstrated by the two testcases:
first,
    if we omit one alias template parm but include another, we need to rewrite
    the deduced template args to reflect the new position of the included parm.
    Second, if we can't deduce any template args for a parameter pack, it is
    deduced to an empty pack.

            PR c++/109321
            PR c++/109320

    gcc/cp/ChangeLog:

            * pt.cc (alias_ctad_tweaks): Rewrite deduced args.
            (type_targs_deducible_from): Handle null pack deduction.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/class-deduction-alias16.C: New test.
            * g++.dg/cpp2a/class-deduction-alias17.C: New test.

Reply via email to