<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/81387>81387</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
`clang-format` unexpectedly indents lambda body within another expression
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
emilyyyylime
</td>
</tr>
</table>
<pre>
With `LambdaBodyIndentation: Signature` (the default value)
The following code formats with spurious indentation:
```cpp
int main() {
(
[] {
int x = 5;
return x;
},
0);
}
```
This is seemingly related to C++20 ranges and range adapters:
```cpp
int main() {
return value | adapter([] {
// code
});
}
```
But seems to be implemented very wrong, and should definitely be a separate config option.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyck82OmzAQx59muIw2Mibh48BhkyhSpd5aqWeDJ-DK2Mgfu-HtKwOr7uZUFSFhzzAe_2bmL7xXgyFq4XSG0zUTMYzWtTQpvSzLotVEWWfl0v5SYUQo2XcxdVKcrVy-GUkmiKCsgeIVf6jBiBAdQckQeB1GQkl3EXXAN6EjAW-AXYG9_hwJ71Zr-67MgL2VaesmETy-pyx-jk7Z6FF9ybAFQ8m2t5_nzaJMwEkoA7wG3iBU582O6Rb7cqP77NueFPtAKK54guLJ5yhEZ_Dx5IDqCvyyW1iC-vAnz9c77tudWnlUHj3RpMygF3SkRSCJweIF-Bn4mTN0wgzkURi5LVFIMQdy_r8qsDOs9UeoLh-npT-fSwL8Bvy29uNrITbkf-U8x7Ay-sTVEapp1jSRSaRv5BZ8d9YMwC8rox9t1DINijIqkF5SiEBPs3AiEPbW3NWAdk5DcMhkW8imaERGbV6xqmSnvKyzsRWsYV1_aupjfuzvTS5lXlAtyrLqGHXlPVMtZ_zIeM44P5asPvQd72Re9o2gjt_zHo6MJqH0Qeu36WDdkCnvI7V1XtRVpkVH2q8i4bzXwgwv28gC50k2rk1hL10cPByZVj74vwcFFTS1qWGfA0uG0dBjpj6Q1Ms-7B71KjBMolvloAwKY8NIDukxO_JeWZNFp9sxhHkdi7Vxgwpj7A69nYDfUu798zI7-5v6APy2EnngtxXqTwAAAP__lpoxww">