[clang] [Clang][Sema] Fix the lambda call expression inside of a type alias declaration (PR #82310)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 8 02:32:21 PST 2024


zyn0217 wrote:

So, I have:
1. rebased the patch on top of the recent Sema refactors.
2. incorporated the fix for https://github.com/llvm/llvm-project/issues/82104, which is a slight change on `HandleFunction`.
3. separated the `CodeSynthesisContext` iteration logic into three helper functions i.e. `getPrimaryTemplateOfGenericLambda`, `getEnclosingTypeAliasTemplateDecl` and `isLambdaEnclosedByTypeAliasDecl` - I hope this looks clearer.
4. clarified some comments.

In terms of the lambda dependencies, I'm not entirely sure if we can accept the current approach. In practice, it is possible to avoid such a hack at the moment, since we don't actually rely on the lambda substitution but rather the template arguments.

Do you think it will be useful in the future that we need something more e.g. the substituted parameters, to compute the dependency? @cor3ntin 

https://github.com/llvm/llvm-project/pull/82310


More information about the cfe-commits mailing list