diff options
author | Younan Zhang <zyn7109@gmail.com> | 2024-02-23 09:36:32 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-23 09:36:32 +0800 |
commit | 19e518d2623c0e87a87ebf30405e74448bd1ee70 (patch) | |
tree | 88e9793f389bb04a56b30fb65ac845fe55161901 /clang/lib/Frontend/FrontendAction.cpp | |
parent | 590c968e7943e51bb00ff75d312435f24d983b2a (diff) | |
download | llvm-19e518d2623c0e87a87ebf30405e74448bd1ee70.zip llvm-19e518d2623c0e87a87ebf30405e74448bd1ee70.tar.gz llvm-19e518d2623c0e87a87ebf30405e74448bd1ee70.tar.bz2 |
[Clang][Parser] Have the depth of the abbreviated generic lambdas inside a requires clause differ from the surrounding generic lambda (#80656)
A one-line fix, again : )
This fixes https://github.com/llvm/llvm-project/issues/78524 and the
similar example at
https://github.com/llvm/llvm-project/issues/78524#issuecomment-1899886951.
We previously increased the template depth by one after parsing the
attaching requires-clause on a lambda expression. This led to a problem
where the 'auto' parameters of nested abbreviated generic lambdas,
inside of a requires-expression, had the same depth as the template
parameters of the surrounding lambda. Consequently, during the
concept-checking stage, we ended up substituting these parameters with
the wrong template arguments because they were at different levels.
Diffstat (limited to 'clang/lib/Frontend/FrontendAction.cpp')
0 files changed, 0 insertions, 0 deletions