https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92654
--- Comment #12 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:c2368db567a853b0765833b3bd4e7934f3c6be61 commit r10-6609-gc2368db567a853b0765833b3bd4e7934f3c6be61 Author: Jason Merrill <ja...@redhat.com> Date: Mon Feb 10 14:12:07 2020 +0100 c++: Fix constexpr if and braced functional cast. While partially instantiating a generic lambda, we can encounter pack expansions or constexpr if where we can't actually do the substitution immediately, and instead remember a partial instantiation context in *_EXTRA_ARGS. This includes any local_specializations used in the pattern or condition. In this testcase our tree walk wasn't finding the use of i because we weren't walking into the type of a CONSTRUCTOR. Fixed by moving the code for doing that from find_parameter_packs_r into cp_walk_subtrees. 2020-02-11 Jason Merrill <ja...@redhat.com> PR c++/92583 PR c++/92654 * tree.c (cp_walk_subtrees): Walk CONSTRUCTOR types here. * pt.c (find_parameter_packs_r): Not here.