<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/133135>133135</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
BreakBeforeBraces: GNU should break before open brace of lambda
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tromey
</td>
</tr>
</table>
<pre>
I work on a GNU-style code base that uses C++. My test config uses `BreakBeforeBraces: GNU` because it seems impossible to replicate real GNU-style behavior with `BreakBeforeBraces: Custom` (in particular conditionally applying `IndentBraces`).
I think this setting should cause a line break before the `{` of a lambda.
Test code:
```
int f(int y) {
auto x = [&]() {
for (int i = 0; i < y; ++i)
return 97;
};
return x();
}
```
`clang-format` config:
```
BreakBeforeBraces: GNU
```
Actual output:
```
int f(int y)
{
auto x = [&]() {
for (int i = 0; i < y; ++i)
return 97;
};
return x();
}
```
Expected output:
```
int f(int y)
{
auto x = [&]()
{
for (int i = 0; i < y; ++i)
return 97;
};
return x();
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUVEFvqzgQ_jXmMkrk2EDCgUNoNqsedk-7P8DAELw1GNnjtvz7lYGq7auip77bkxDYzMw33zeesfJe30bEkmUVyy6JCtRbV5KzA85Jbdu5fIQX657AjqDgz7__3XmaDUJjW4RaeQTqFUHw6OGBiYqJag9_zUDoCRo7dvq2GlnOK4fqqcLOOqycatAzeY6QLOdQY6OCR9AEHnHwoIfJeq9rg0AWHE5GN4oQHCrzgUeNvXrW1sGLpv5ukofgyQ4xDxMnPcKkHOkmGOUix1aTtqMyZgY1TWbW4y0iPY4tjrSB5JyJYs_4mfHzI1Cvx6f49uCRKAb43gbTwqpCgdEjQh25QL2QAeoxorJjFXnYLjqpoW7VhvrPWrEWmYzb6Lo-_KxHgm5hTjAzUUAE4WcAFcjCKzB5gXiAImfZhYnTRxeAzjrYgvXiypmsluUDzHG5HptmotgiABxScCMURyZXGHa8vC032-uaaP0bzZ85r9vGqPG266wbFEXZa0d8VXi3Nb6AnhsKyoANNAX6eakWbr9Dsf54nbAhbH9B2X1hG8V3ed8VyHjxo7pvi0vaUraFLFSC5eGYSn4QMs2SvsyR81oUdc4PUnU8b48qb9oTl5nkqcp5okvBRcalyA8nnqXpvmm7ougKzNvjMT0VKUs5DkqbvTHPw966W6K9D1gepDzILDGqRuOXu02IEV9gsTIh4lXnyhi0q8PNs5Qb7cm_w5Amg-W9rnwb9k_zbSccoY5ucbjX0U6CM2VPNMVIJq5MXG-a-lDvGzswcY35ts9ucvY_bIiJ68LSM3HdZDyX4v8AAAD__wPgnw4">