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

    <tr>
        <th>Summary</th>
        <td>
            [libc++] P2165R4: Update `<tuple>` for interoperability between `tuple` and `tuple-like` types
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++,
            c++23
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          frederick-vs-ja
      </td>
    </tr>
</table>

<pre>
    **Link:** https://wg21.link/P2165R4

Changes to be done:
- Update `basic_common_reference` and `common_type` specializations.
- Constrain `tuple_cat`, `apply`, and `make_from_tuple`.
- Add new constructors and assignment operators to `tuple`.
  - Note that there are already some similar extensions, and perhaps we want to implement the standard forms in C++23.
  - [P2255R2](https://wg21.link/p2255r2) made the new constructor conditionally deleted, see #130403.
- Add new comparison operators to `tuple`.
  - Note that the new comparison operators are hidden friends, while the old ones are not.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUU0HP4jYQ_TXOZQRyxkmAQw4ByqmqViv1jJx4Qrw4dmSbj9JfX9lA-3Wl77CHKJnxzHvjN3kyBH2xRC2r96w-FvIWJ-fb0ZMir4fr6iOsfsiid-rRMuwYdr9re2WiewYwxbiEHJ4Ynu4XLNcmFeDpG5ZN_b1ivGO8O0zSXihAdNATKGcp9fBuBX8uSkYC1vBeBj2cBzfPzp49jeTJDsQaDtKqVPA6io8lZ8NCg5ZG_y2jdjasM9zB2RC91DY1xNti6DzIyBrO8JBSclnM4xW-YGd5pfPo3XzO9azhT6hOKbB0hyFD3obofMg9T81mshHcQl7mg-j-ZXwhAKzgDxcJ4iQjxIk8gUyP8STVA4KbCYKetZEe6K9INqR7vCdbyE9yCXAnuEsbE4GeF0OZN04EIUqrpFcwOj8H0BYODPcM9yje9Kzef0Os6-_I6iPD7dfbWlKZR4Y7mKWiTPDT5dO30klracwDFBmKpNK4gQgYilLwioufxZsX6XVw9te0-ro5SThppcjC6DVZlRW7T9o8p3ZGgbP0LLQurgvVCrUTO1lQW26qSmzKLRfF1PZqoxDrEdVY4qiqTdXQqHjdq7La1MgL3SLHmldlWZaVQLFG0ex2Qipe1g3vd1tWcZqlNmtjPua185dCh3CjthS1qLaFkT2ZkK2FaHQ_PPfDEBkeGOLw3lfK1MfCtwln1d8ugVXc6BDDf8hRR5Nt-gmoPsLbZqL7ZCUmDk91xW_JKaPzoG0kn1XstdHxAT3FO5H9vIm3I3K8Mvqak8lvobh50_7_97noON369eBmhqc05uu1Wrz7QUNkeMpqBIanlyAfLf4TAAD__6QGaZg">