<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">