<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/136266>136266</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] AllowShortCompoundRequirementOnASingleLine conflicts with BraceWrapping
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-format
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          tuero
      </td>
    </tr>
</table>

<pre>
    I'm not sure if this is an issue or expected behaviour. I have a minimal config file, with `AllowShortCompoundRequirementOnASingleLine: true` and with the `BraceWrapping` sub-option `AfterControlStatement: MultiLine`:
```
Language: Cpp
AccessModifierOffset: -4
AllowShortCompoundRequirementOnASingleLine: true # clang-format 18
BraceWrapping: # Requires BreakBeforeBraces: Custom
 AfterControlStatement: MultiLine  # comment me out
BreakBeforeBraces: Custom
BreakBeforeConceptDeclarations: Always
IndentRequiresClause: true
IndentWidth: 4
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope # clang-format 16
Standard: c++20
TabWidth: 4
UseTab: Never
```

This formats the following concept as such:
```cpp
template <typename T>
concept IsDataset = requires(const T ct) {
    {
        ct.size()
    } -> std::same_as<int>;
};
```

However, if I remove `AfterControlStatement: MultiLine`, then I get what I would expect should be the correct formatting:
```cpp
template <typename T>
concept IsDataset = requires(const T ct) {
    { ct.size() } -> std::same_as<int>;
};
```
**Question**: Is there a way to have both multi-line brace wrapping after control statements, along with single line short compound requirement clauses?

```shell
$ clang-format --version 
Ubuntu clang-format version 20.1.2 (++20250402124932+58df0ef89dd6-1~exp1~20250402004952.98)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8VUGP4zYP_TXKhUigyI4TH3Jwkgm-ALvftp1Z7LGQbdpWK0uuRCczPexvLyQnM5NF0W5RoIGBWBb1RD6Sj9J71RrELVvt2OowkyN11m1pRGdnpa1fticm1j0YS-BHh6AaoE55UB6kAeX9iGAd4POAFWENJXbyrOzoFnCCTp4RJPTKqF5qqKxpVAuN0sjEHi6KOmAZL7S2l8fOOtrbfrCjqX_C30blsEdDn0zxqEyr8YMyyJICyI3IMg7S1BMCdRhQdk5W-MXJYVCmDQZ-LOd2IGVNvKQhdHtryFn9SJIieMD7OGpSETzjLCkYL8LL9PDigzTtKNt4834YGC-KqkLvP9paNQrdp6bxGHHmadj8x6EAEwlUWpp23ljXS4LlhvHiPpqkiGZXLA87h_LXHTbWYTT00b3Rk-0ZL-DvY4XpWtuHHegR7Ejx1r_Cfbe7t6bCgQ5Yaelk4DiaFvoiXzzjxcnUaOjm717L0b8l77b9RdXUha-BuXvbH6xXATXsfrqYSNibzcPz4NB7Zc0EJF9NR0L3WNnhz2jNGC8eSZpaujoYV0zsmNiJkOYnWd5589njkyzD6v94RvdNUYQDoQcmZB8rsLEh9cq0ocoDNyA9-LHqvqmpKhYRYT9oSQgs2dPLgEb2CE8seWC8uJ0_-YMk6ZGAJQdw19iZ2FTWeIInqIiJHNh6F3IO8O4t_CpaePU7MrFhIn-1OMCcJQ_gKVDAksLLHn-WniV7FUrkgSUBg60P15f7qP9nL5EOsQ86cAKHvT3j97eX2AeuDJygRYJLJwlOcLGjrq8CAr6LqxIjqZV1LnydiKapFf47Nu85_JfsifD8OKKPxRpXgZ9TLB8XZPIiX4DsJJqlpQ76wN1ch34tQzvC5SoIIAPdodIC3-BvhPvAsNTWtJM0-ig3EBF8UKXQ8lGWbgzE_q9iz3mWHKc0v_rtO9Q6Op_eN9N8fkbno7Ty4nM5GhrvDW7bgi-WCwGRwanbxIqnXCxFmieCid1qUzccm01e19l8-RWfh-XXmxHnab4Si_xawa9uzeptUudJLme4Xa7TNF-tV1ky67ZZVZZJnfG1xKTOs3SZrsplKVA0YpNVopmp7YS93PBMZDxZ5Bu54XkqkjrllawlSzn2UumF1ud-YV07iyNuu0wykWUzLUvUPg5LId4HzIQI49Ntw7l5ObaepVwrT_4NiRTpOGjvDq4O8P1TI45QrSryU4LvxsRsdHrbEQ1Bi5k4MnFsFXVjuahsz8QxOHL9mw_O_oKh5I8xPs_E8RrieSv-CAAA__-e_ppq">