<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in convert_non_const_copy.pass.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>16719cd0 - [libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple`</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_non_const_copy.pass.cpp#16719cd0</link>
        <description>[libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple`1. for constructors that takes cvref variation of tuple&lt;UTypes...&gt;, thereused to be two SFINAE helper _EnableCopyFromOtherTuple,_EnableMoveFromOtherTuple. And the implementations of these two helpersseem to slightly differ from the spec. But now, we need 4 variations.Instead of adding another two, this change refactored it to a single one_EnableCtrFromUTypesTuple, which directly maps to the spec withoutchanging the C++11 behaviour. However, we need the helper __copy_cvref_tto get the type of std::get&lt;i&gt;(cvref tuple&lt;Utypes...&gt;) for differentcvref, so I made __copy_cvref_t to be available in C++11.2. for constructors that takes variations of std::pair, there used to befour helpers _EnableExplicitCopyFromPair, _EnableImplicitCopyFromPair,_EnableImplicitMoveFromPair, _EnableExplicitMoveFromPair. Instead ofadding another four, this change refactored into two helper_EnableCtrFromPair and _BothImplicitlyConvertible. This also removes theneed to use _nat3. for const member assignment operator, since the requirement is verysimple, I haven&apos;t refactored the old code but instead directly addingthe new c++23 code.4. for const swap, I pretty much copy pasted the non-const version to makethese overloads look consistent5. while doing these change, I found two of the old constructors wasn&apos;tmarked constexpr for C++20 but they should. fixed them and added unittestsReviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D116621

            List of files:
            /llvm-project-15.0.7/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_non_const_copy.pass.cpp</description>
        <pubDate>Thu, 12 May 2022 12:23:11 +0000</pubDate>
        <dc:creator>Hui Xie &lt;hui.xie1990@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>95733a55 - [libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple`</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_non_const_copy.pass.cpp#95733a55</link>
        <description>[libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple`1. for constructors that takes cvref variation of tuple&lt;UTypes...&gt;, thereused to be two SFINAE helper _EnableCopyFromOtherTuple,_EnableMoveFromOtherTuple. And the implementations of these two helpersseem to slightly differ from the spec. But now, we need 4 variations.Instead of adding another two, this change refactored it to a single one_EnableCtrFromUTypesTuple, which directly maps to the spec withoutchanging the C++11 behaviour. However, we need the helper __copy_cvref_tto get the type of std::get&lt;i&gt;(cvref tuple&lt;Utypes...&gt;) for differentcvref, so I made __copy_cvref_t to be available in C++11.2. for constructors that takes variations of std::pair, there used to befour helpers _EnableExplicitCopyFromPair, _EnableImplicitCopyFromPair,_EnableImplicitMoveFromPair, _EnableExplicitMoveFromPair. Instead ofadding another four, this change refactored into two helper_EnableCtrFromPair and _BothImplicitlyConvertible. This also removes theneed to use _nat3. for const member assignment operator, since the requirement is verysimple, I haven&apos;t refactored the old code but instead directly addingthe new c++23 code.4. for const swap, I pretty much copy pasted the non-const version to makethese overloads look consistent5. while doing these change, I found two of the old constructors wasn&apos;tmarked constexpr for C++20 but they should. fixed them and added unittestsReviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D116621

            List of files:
            /llvm-project-15.0.7/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_non_const_copy.pass.cpp</description>
        <pubDate>Thu, 12 May 2022 12:23:11 +0000</pubDate>
        <dc:creator>Hui Xie &lt;hui.xie1990@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
