<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJzNVVFvmzAQ_jXwckoEJjTlgYcm2bRonfbQbq_IwJF4MTazTdLs1-8MpGmlSntYNS06gTmf777v-LiUuj7nW3BoHdZwEm4PleRqN2u0abkD3jg0sHeus0FyF7CPZAaPAk92LuWxnWuzI9cmjpMkzoCO1pSHrtDonq5WtwjC2h4tCAUKT1DpGufwuBcWpNYHC1a0QnIDTkPAkjS5ZVHA1lD2DrYBW7agtAPbG4TTHt2e8AhHfgu0BssvBeZBtAmiuy30liA4n7_SqhG70R_cRJMNjytOUV_VgztLJGZwf__9y7gDMN5ns9m4uKd-9Hw3hK27bnQ-OCLJTe2dVcBWZCx6s9Ka-BKxW-ooSFFOwdQZD9RCUfQ7eS4U8bABy95M4bDtJHeUJlnT67F0aq2VwyfnGzV5Hrsg-XChYPBnL4xvui24MfxcHOnsGENgbrxNoc8_38qC2ymOErtzhx7XtRpJILmr9twUfi9IV-RE5V4kn_CnG1-I-k-6OnIJvHf6UrAoWn7AwjptqKtjJnZL3CFYrq4EXG8Uxb4KS9Ylt6IipxFqV3gdku-POAkWGSVfEqyphF-_1estnHQva8CnDis36qjjxnl5lghakSG9SLrQmffp2dCtZwTfLHHzNVHRx6HlEUepDyp_Z31Q4_-5Qka2F6m_1sh_K46wzpM6SzIeEsy9NnmrTc0pYdgbmb8ekDsao305r3RLD35KTrdZZ_QPEhU9jiORFjTubhbhPs_KeBFnUdVUTZZEZcM5TytkvMY0TlNWh5KXKG1OHQ0YK3uausy_Abq9HNjem27Cv0ckchYxsjiNl-mCLedpyZbLhiGmTZRFrAkWEbZcyOe_gdDkQ0rCZmlTCuuu_xEhSVDsFOJE4BP_RcPz_Fn1tkNzwIOdkDvhJOYPzhAnhJGU89-DboBfxxqpxnGh_AZXMOg3HBjkA_zfJL8kyw>53864</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Strange formatting of a requires containing an array
        </td>
    </tr>

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

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

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

<pre>
    I tested with clang-format after https://reviews.llvm.org/D113319 landed and found some issues in new code. This looks similar to #53820, but I'm not sure whether it's the same issue.
I used this config
```
BasedOnStyle: LLVM
  
---
Language: Cpp
Standard: c++20
```
Code (for libc++ so uses __ugly_names)
```
template <class _Context, class _Tp>
  requires is_array_v<_Tp> &&
           same_as<_Tp, typename _Context::char_type[extent_v<_Tp>
]> consteval auto
  __make_storage_type() {
  return __storage_type<basic_string_view<typename _Context::char_type>>{};
}
```
I would expect this part to be on one line `same_as<_Tp, typename _Context::char_type[extent_v<_Tp>]>`
Using parens solves the issue
```
template <class _Context, class _Tp>
  requires(is_array_v<_Tp> &&
           same_as<_Tp, typename _Context::char_type[extent_v<_Tp>]>)
consteval auto __make_storage_type() {
  return __storage_type<basic_string_view<typename _Context::char_type>>{};
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNVctu2zoQ_RppM7AhU7FlL7RInBYNmqKL9HYrUNbIZkORKknZdb_-HlpK0gABuimKGgM-hsN5HB6Na9ucyzsK7AM3dFLhQDstzX7WWtfJQLIN7OgQQu-T_DoR7yGOj4pPfq71sZtbt4fqdrHI88WGcLWBH4zU2gGjtx2T8n5gT8qQ4RPtbMNz-nJQnrS1j5686pSWjoKlROTLfC2yRGypHgLdJaLoyNhAfnBMpwOHA_JRAXpPWJOXTwHmSXabZNd3NHikEKL_nTWt2o_6ZJVNctneSFh9Ng_hrBmV0f3910_jCdE4z2azcXEPPAa5v5ht-35UPgQUKV0TlbtE3EBE9makLepFYWsgSlrVkzGQiYl6qqphr8-VQR0-EZs3XQTuei0D3ORbPI_Hra01gX-ECNSk-dIn-bunEhx_H5SLoPtKOifP1RF3Rxsks4oymT7_IpSV9JMdHIdzzzGvl2igQH69O0hXxbNkeQMlm_CL8yn_5W0MBPzBq6PUJIdgnwJWVScfufLBOqA6ehJr1E5JcfNSQBicge0rs3xbS692UDpl9lXkIXS_zRNpQeC8QFpTiLh-C-s7OtlBN8Q_et6FkUe9dCHSs2ayBsJ4SAy482cwu6D1nMF_HrXFmGzwcVh95JHqF5b_YX4A-L_OkLHaJ6q_5sg_S460KfNmk29kGlTQXD4Eh7bANPbJEF_MtiRfPjzUFaQy8UAauiCcDk6Xr3vpHh13qOc722ETG-o0zXpnv4F_2I7dEwt0xtVVeijbdZE3LFdXotjU7Vo2UmSrgherdbFpOBepljVrXwL8RIh6QIMW8bEw_drbo3Z5m6pSZAKyWC6KJVzOl7UoilYwL9tsk4k2ucq4k0o_9_vUlZcU4dnjUCsfXv4MUnBN7Q3zFP6D_Ikuef5oBt-ze-RHP8XFax-sKzvrGol3SS9llpca_wc_Sg61">