https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117887
--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:27d620d67697157f2269f3add4cb830540ac5795 commit r15-6740-g27d620d67697157f2269f3add4cb830540ac5795 Author: Patrick Palka <ppa...@redhat.com> Date: Thu Jan 9 10:50:16 2025 -0500 c++: tf_partial and instantiate_template [PR117887] Ever since r15-3530-gdfb63765e994be the extra-args mechanism now expects to see tf_partial whenever doing a partial substitution containing dependent arguments. The below testcases show that instantiate_template for AT with args={T}/{T*} is neglecting to set it in that case, and we end up ICEing from add_extra_args during the subsequent full substitution. This patch makes instantiate_template set tf_partial accordingly. PR c++/117887 gcc/cp/ChangeLog: * pt.cc (instantiate_template): Set tf_partial if arguments are dependent. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-requires39.C: New test. * g++.dg/cpp2a/lambda-targ10.C: New test. Reviewed-by: Jason Merrill <ja...@redhat.com>