https://github.com/llvm/llvm-project/issues/46505
The presence of a lambda in an argument template list ignored the [] as a lambda at all, this caused the contents of the <> to be incorrectly analyzed.
struct Y : X < [] { return 0; } > {};
Fixes: #46505
Fewer ifs and lines.