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

    <tr>
        <th>Summary</th>
        <td>
            Compound requires-expression diagnostics can be quite unreadable
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:diagnostics
      </td>
    </tr>

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

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

<pre>
    This diagnostic isn't really readable, and produces redundant information due to the snippet below. I'm not exactly sure how to improve it, but there's a **lot** of noise, and we might like to brainstorm ways to improve the summary.

```
include/c++/v1/__concepts/equality_comparable.h:30:5: error: satisfaction of constraint 'requires (__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) { { __t == __u } -> __boolean_testable; { __t != __u } -> __boolean_testable; { __u == __t } -> __boolean_testable; { __u != __t } -> __boolean_testable; }' depends on itself
   30 |     requires(__make_const_lvalue_ref<_Tp> __t, __make_const_lvalue_ref<_Up> __u) {
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 31 |       { __t == __u } -> __boolean_testable;
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |       { __t != __u } -> __boolean_testable;
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   33 |       { __u == __t } -> __boolean_testable;
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   34 |       { __u != __t } -> __boolean_testable;
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   35 |     };
      | ~
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0lc1u4zgMgJ-GvhANbMmx44MPaTMG9j57NmSJiTUjS65-2slln31hN00H3WLRoLuCEskwyY8iaVGEoE-WqIXtPWwPmUhxdL6VP9SQDU6d2--jDqi0OFkXopaogwVWR_QkjDkvixKDIWAPKKzC2TuVJAX0pJJVwkbU9uj8JKJ2FlUijA7jSBisnmeKOJBxzxv8A1g9oXUR6ZeQ0ZwxJE84uudFQU-zd0-EOi6gIcXFhCdgdUCBwPbA9sbFlw26I1qnw9WpZ8JJn8aIRv9c-YMX2obo_ITP4hx-J6yupWkS_ryB_AD5_vJf5Ze5PmorTVIErJPA7tfZPRXAur6XzkqaYwDW0WMSRsdzL900C78EajMC3_Mc-H4LfI_kvfPLJoiow1HINUzuiNLZEBc3IwKrPT0m7SkgsF3fT-In9atAb56ESdR7OgJ_6L_PwL9h369R-he5Py9yCViDUN-vv76PCPwA_LC8QagPePciNjhnSNg-UohrsvlvGqy4SSO9MeKnNV4Zn9A4AKtR0UxWBXQWdQxkji9JQ0SeI9QPuIzXmP4_Ib0SEVcibL_99V-Oi31eXM-Dt2fxvZO3kBE5-4j92Xr4Ipv_g31DZX2RXX7E_myNfpG9vbKXWv_A3LvrKlMtVw1vREZtUTV5UzDOi2xsRdNsC7UbmmEnSl5JWRJTlaxULetSCZHpluWM57u8KOotK4pNkxeiqvK6VNVuq9QAZU6T0GZjzNO0cf6U6RAStVXJizIzYiAT1r7CmDTCnoDv3xpJAMaWhuPbRftuSKcAZW50iOHNXtTRUPvgptklq65f7B39mj2FsHaUN4sohcWB8DHpSJjsa2_KkjftGOMcgO-BdcC6k45jGjbSTcC6BXdZ7mbvfpCMwLr1LMslvh7n7wAAAP__ThNTeg">