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

    <tr>
        <th>Summary</th>
        <td>
            [format] Complex requires clauses get formatted wildly
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Clang-format produces this:

```cpp
#include <concepts>

template <class T, class E>
void Result()
    requires(!((std::is_void_v<T> ||
 std::is_trivially_destructible_v<
 T>)&&std::is_trivially_destructible_v<E>) &&
 !std::is_void_v<T>)
{}
```

Instead of something like this:
```cpp
#include <concepts>

template <class T, class E>
void Result()
    requires(!((std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
 std::is_trivially_destructible_v<E>) &&
 !std::is_void_v<T>)
{}
```

- It wraps at the template parameter of is_trivially_destructible_v.
- It puts no spaces around the `&&` after it.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUlE1v2zwMxz-NfCESWJLfcvChzQvQ64PeC8WibbWy5Uei0_XbD7KzLCi2obdhgKAENH_k3yRNFYLpRsSa5Y8sPyRqpt75WqtRvb0mZ6c_6r1VY7dpnR8UweSdnhsMQL0JTD6w9MDSH3eRrqeZpqtFSDM2dtYITO4bNzY4UWDyeI8RDpNVtLpYFQI8M7GH9e_x5nxxRsN_GGZLTFRM7FYzAIDH_2fjMSx2vtxVIB3lyQcTXiL6cmFy_8zkEVi5j2el793Im4tR1n68aAzk54bM2eICXr0jHzOLgonii-hxZWCFroGY4L8VeHs1Vj6y8vCptveVexoDodLgWghuQOrN2IE1b_ipO_9SX77akedflfXvt2QDTwTvXk0BFAH1CLcyTsqrAQl97NcfBG7vIk0zBRgdhEnFj055N496CRvzrvKLFFQbwxq6oomupd7JnUqw5kVV5JxzmSZ9XZUi02XVNDqTeSllkWVSpJIrnZVV24jE1CIVMi045zte5ek2Vzlvy7Q987LlYleyLMVBGbu19jJsne8SE8KMdSFFzhOrzmjDskuEGPEdlodMiLhafB2ZzXnuAstSawKFn1HIkF2W0LpnWH6AvRsmi99uUxQnbw4YoEOC1Y1Qw7ux2n4ks7d1TzQtYy9OTJw6Q_183jZuYOIUE11_NpN3r9gQE6dFXmDitMj_HgAA__9GPYJs">