https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122621
--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <[email protected]>: https://gcc.gnu.org/g:bf2657d9d45e50c4eb82da3f6f8d9d26e288890f commit r16-7427-gbf2657d9d45e50c4eb82da3f6f8d9d26e288890f Author: Patrick Palka <[email protected]> Date: Mon Feb 9 20:32:39 2026 -0500 c++: tf_partial and alias_ctad_tweaks [PR122621] Like in r15-6740-g27d620d6769715 for instantiate_template with dependent arguments, we also need to set tf_partial during the alias_ctad_tweaks transformation mainly for benefit of properly handling extra-args trees. In this testcase during alias_ctad_tweaks we substitute the dependent ElemTs={Tuple<Us...>}, Ts={Ts...} into the requires-clause, which tsubst_pack_expansion decides to defer via extra-args, and for the subsequent add_extra_args (during guide overload resolution) to merge the deferred dependent arguments correctly, tf_partial has to have been set. PR c++/122621 gcc/cp/ChangeLog: * pt.cc (tsubst_pack_expansion): Use tf_partial instead of tf_none, except when substituting outer (non-dependent) template arguments. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/class-deduction-alias26.C: New test. Reviewed-by: Jason Merrill <[email protected]>
