https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103186
--- Comment #13 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:8a3789786205376e3ba19fdefadd8937e8ac534e commit r12-6973-g8a3789786205376e3ba19fdefadd8937e8ac534e Author: Jason Merrill <ja...@redhat.com> Date: Wed Jan 26 16:42:57 2022 -0500 c++: lambda in template default argument [PR103186] The problem with this testcase was that since my patch for PR97900 we weren't preserving DECL_UID identity for parameters of instantiations of templated functions, so using those parameters as the keys for the defarg_inst map broke. I think this was always fragile given the possibility of redeclarations, so instead of reverting that change let's switch to keying off the function. Memory use compiling stdc++.h is not noticeably different. PR c++/103186 gcc/cp/ChangeLog: * pt.cc (defarg_inst): Use tree_vec_map_cache_hasher. (defarg_insts_for): New. (tsubst_default_argument): Adjust. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/lambda/lambda-defarg10.C: New test.