<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/124737>124737</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] AllowShortLambdasOnASingleLine and ColumnLimit seem to not work right together
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
etodanik
</td>
</tr>
</table>
<pre>
```
---
AllowShortLambdasOnASingleLine: All
BasedOnStyle: LLVM
ColumnLimit: 0
```
This short config fails to format this snippet (shortened from real life code):
```cpp
void USageFleetSpawnDataGenerator::Generate(UObject& QueryOwner, FSageSpawnedEntityType EntityType, FSageFinishedGeneratingSpawnDataSignature& FinishedGeneratingSpawnPointsDelegate) const
{
Launch(UE_SOURCE_LOCATION, [this, FleetDataProviderTask, ShipDataProviderTask, ResolveMeshesTask, FinishedGeneratingSpawnPointsDelegate = MoveTemp(FinishedGeneratingSpawnPointsDelegate), World]() mutable {
for (const auto& Row : FleetsOverviewAggregate)
{
Result.NumEntities += 1 ;}
AddNested(Launch(UE_SOURCE_LOCATION, [FinishedGeneratingSpawnPointsDelegate = MoveTemp(FinishedGeneratingSpawnPointsDelegate), Result = MoveTemp(Result)]() { FinishedGeneratingSpawnPointsDelegate.Execute(Result); },
ETaskPriority::Default, EExtendedTaskPriority::GameThreadNormalPri)); }, Prerequisites(ResolveMeshesTask), ETaskPriority::BackgroundNormal);
}
```
Setting `ColumnLimit` to anything but `0` works but limits the ability to decide when to wrap some things. Conversely, not allowing short lambdas also seems to fix things, but again, limits the formatting to be a bit too rigid.
Interestingly, adjusting `BraceWrapping` to always wrap `BeforeLambdaBody` also interacts weirdly here...
It seems that `AllowShortLambdasOnASingleLine` is the source of trouble here, though.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0VU2P2zgP_jXKhZjAUSYfPuTgTJKiQDqZdzJ9eyxki7bVkSWvJCf1v19QzqTpx257WSBAbJl8yOchRQrvVWUQV2y2ZrPNSHShtm6FwUph1Osot7JfsXly-SXZ3d0dS7JMa3s-1taFvWhyKfzBZEdlKo17ZZBNM8i0Zkm2Fh7lwRxDr-Ppfv__DyzJHqzuGrNXjQp0Sri3MViSvdTKg6cAUFhTqgpKobSHYKG0rhEBQrQwqm0xAOPLaIwGJZTONuBQaNCqRCisRMZTNs1uwxRty5LsZJWEj0dR4U4jhmMrzmYjgniHBp0I1pHXNLu8IuPLj4f8CxaB8Tn8r0PXH84GHeMPsCOUCIBya4IK_UvfInx7vBrtlFG-RnlBVaa6xj2qyojQOST8f7B7ssoEv0GNVUwpJYV8IHKLdVQv3YvOFDVlu_18PHx8fth-3h8espf3h0fKgs3WpF5MiGhT5CdnT0qiexH-lT4ca9X-6vwZvdUn_IC-Rv92-EeZAptu4IM94Qs2LePLP6VHAT5ZpyWbbRhfEuGmCyLXCFfCw6-0jjohygGiC5ZUfLZnoCaLTP3hhO6k8JxVlbsGuIH4AfH75_QZfafD-LFrYlkVemB8TbwmwKZrttgAwNDAV59Mykf0ASXjy9_X5T9XcqDwI8JwSiZXjdli_Wd1HW-_YtHFy_ENZroGtthEUjdabKlhnpyyToV-uFobLEX0eYDt9mtAI1H-bPVONPhSOxTykW6_fnIq8rkN9OTQ4V-d8iqgH5L5sVOjAr9IYi2K18rZzlzgB-B4ozY_z6YjBpIC2Dy5HWTzhKaTMH2o6WveBbIgNzhb9-rjiSZTD6FGELnSKvTkJLFQEuFco6HXsxMteNsgRCg_hgdrTug86p4YGBtA0ASmOMOQ1MMYBqG9BY_YDKNSfb1AkBvFF5VQhl5uEhkGaqQULOQIAnIVIFgLTlVKji8t_d4EdOjJcMhDyC-df5Ni7USBn5xoW2WqNzH0WfR-4EMmWFqHw8ZYW9mTVUxYEbIogoczKid1DzU6HI-vkcMbp1pEVX-zf-YJqIGbt50rEGwJwdmOZgYhU_Khtl1Vj0dyNZXpNBUjXE0W02UyX0xm6aheJYt8nk-S5WSeTNMCcVnImbwvknQxKTFdJCO14gmfJRO-nHA-m6XjskSR5DhJl5MFl-mS3SfYCKXHWp-asXXVSHnf4WrC7xfTxUiLHLWPi5fzQgtT3Q2VYJzTKnYr8rvLu8qz-0QrH_w3pKCCjkv7O8fZBv5dGRBGwk3TRlmpUtRS1KVU8ZpqX2Go0Y06p1d1CK2ni8J3jO8qFeouHxe2YXxH-Vz-7lpnh824izQ947sL09OK_x0AAP__NhTF5Q">