<?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 tuple</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4887d047 - [libc++][NFC] Replace enable_if with __enable_if_t in a few places</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#4887d047</link>
        <description>[libc++][NFC] Replace enable_if with __enable_if_t in a few placesReviewed By: ldionne, #libcSpies: jloser, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D128400

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Sun, 03 Jul 2022 23:21:44 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>de4a57cb - [libc++] Re-add transitive includes that had been removed since LLVM 14</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#de4a57cb</link>
        <description>[libc++] Re-add transitive includes that had been removed since LLVM 14This commit re-adds transitive includes that had been removed by4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604,and 489637e66dd3. This should cover almost all the includes that hadbeen removed since LLVM 14 and that would contribute to breaking usercode when releasing LLVM 15.It is possible to disable the inclusion of these headers by defining_LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors willenable that macro and start fixing downstream issues immediately. Wecan then remove the macro (and the transitive includes) by default ina future release. That way, we will break users only once by removingtransitive includes in bulk instead of doing it bit by bit a everyrelease, which is more disruptive for users.Note 1: The set of headers to re-add was found by re-generating the        transitive include test on a checkout of release/14.x, which        provided the list of all transitive includes we used to provide.Note 2: Several includes of &lt;vector&gt;, &lt;optional&gt;, &lt;array&gt; and &lt;unordered_map&gt;        have been added in this commit. These transitive inclusions were        added when we implemented boyer_moore_searcher in &lt;functional&gt;.Note 3: This is a best effort patch to try and resolve downstream breakage        caused since branching LLVM 14. I wasn&apos;t able to perfectly mirror        transitive includes in LLVM 14 for a few headers, so I added a        release note explaining it. To summarize, adding boyer_moore_searcher        created a bunch of circular dependencies, so we have to break        backwards compatibility in a few cases.Differential Revision: https://reviews.llvm.org/D128661

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Mon, 27 Jun 2022 19:53:41 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ac65403a - [libc++][NFC] Remove trailing whitespace</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#ac65403a</link>
        <description>[libc++][NFC] Remove trailing whitespace

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Mon, 27 Jun 2022 13:36:52 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<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/include/tuple#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/include/tuple</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>9dd7ad6f - Revert &quot;[libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple`&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#9dd7ad6f</link>
        <description>Revert &quot;[libc++] P2321R2 section [tuple.tuple]. Adding C++23 constructors, assignment operators and swaps to `tuple`&quot;When merging the changes of &lt;type_traits&gt; header with the commits onthis header over the last month, several conflicts were mistakenresolved and the wrong branch was picked while resolving conflicts,which leads to CI failure. In order to resolve the conflicts properlywith qualification CI job, this change is reverted.This reverts commit 95733a55b986e73f4d8f5314e0d4557d8ae0b226.

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Thu, 23 Jun 2022 20:54:23 +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/include/tuple#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/include/tuple</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>db1978b6 - [libc++] Mark standard-mandated includes as such</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#db1978b6</link>
        <description>[libc++] Mark standard-mandated includes as suchReviewed By: ldionne, Mordante, #libc, saugustineSpies: saugustine, MaskRay, arichardson, mstorsjo, jloser, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D127953

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Thu, 16 Jun 2022 20:43:46 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c36870c8 - [libc++] Removes unneeded includes.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#c36870c8</link>
        <description>[libc++] Removes unneeded includes.This removes all &quot;TODO: remove these headers&quot; comments from our headers.Note there seem to be more headers that can be removed, that will bedone in separate commits.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D127592

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Sun, 12 Jun 2022 09:55:47 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>34f73804 - [libc++] Remove unused __functional includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#34f73804</link>
        <description>[libc++] Remove unused __functional includesReviewed By: ldionne, #libcSpies: arichardson, smeenai, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D126098

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Fri, 20 May 2022 22:45:51 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>1b9c5f60 - [libc++] Remove redundant __invoke_constexpr functions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#1b9c5f60</link>
        <description>[libc++] Remove redundant __invoke_constexpr functionsThere are `constexpr` versions for the different `__invoke` functions, which seem to be identical other than begin `constexpr` since C++11 instead of being `constexpr` since C++20.Reviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D123003

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Wed, 06 Apr 2022 21:10:21 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>385cc25a - [libc++] Ensure that all public C++ headers include &lt;__assert&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#385cc25a</link>
        <description>[libc++] Ensure that all public C++ headers include &lt;__assert&gt;This patch changes the requirement for getting the declaration of theassertion handler from including &lt;__assert&gt; to including any publicC++ header of the library. Note that C compatibility headers areexcluded because we don&apos;t implement all the C headers ourselves --some of them are taken straight from the C library, like assert.h.It also adds a generated test to check it. Furthermore, this newgenerated test is designed in a way that will make it possible toreplace almost all the existing test-generation scripts with thissystem in upcoming patches.Differential Revision: https://reviews.llvm.org/D122506

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Fri, 25 Mar 2022 16:55:36 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1458458b - [libc++] Remove &lt;utility&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#1458458b</link>
        <description>[libc++] Remove &lt;utility&gt; includesReviewed By: ldionne, Quuxplusone, #libcSpies: libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D121054

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Mon, 07 Mar 2022 15:31:33 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e39095a3 - [libc++] Define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER whenever we enable warnings in the test suite</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#e39095a3</link>
        <description>[libc++] Define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER whenever we enable warnings in the test suiteThis should make CI consistent on all the compilers we support. Most ofthis patch is working around various warnings emitted by GCC in our codebase, which are now being shown when we compile the tests.After this patch, the whole test suite should be warning free on allcompilers we support and test, except for a few warnings on GCC thatwe silence explicitly until we figure out the proper fix for them.Differential Revision: https://reviews.llvm.org/D120684

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Thu, 03 Mar 2022 18:39:12 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d2baefae - [libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER &gt; 17. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#d2baefae</link>
        <description>[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER &gt; 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBCPP_STD_VER &gt; 17`. Similarly inthe tests, remove `// UNSUPPORTED: libcpp-no-concepts`.Differential Revision: https://reviews.llvm.org/D121528

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Sat, 12 Mar 2022 15:46:57 +0000</pubDate>
        <dc:creator>Joe Loser &lt;joeloser93@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>52915d78 - [libc++] Granularize &lt;utility&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#52915d78</link>
        <description>[libc++] Granularize &lt;utility&gt; includesReviewed By: ldionne, #libcSpies: EricWF, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D120466

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Sat, 05 Mar 2022 18:17:07 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>f7558068 - Remove __uncvref; use __uncvref_t instead</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#f7558068</link>
        <description>Remove __uncvref; use __uncvref_t insteadReviewed By: Quuxplusone, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D119958

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Thu, 17 Feb 2022 21:53:20 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>169a66ea - [libc++] Remove __functional_base</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#169a66ea</link>
        <description>[libc++] Remove __functional_baseReviewed By: ldionne, Quuxplusone, #libcSpies: Mordante, mgorny, libcxx-commits, arichardson, llvm-commits, arphamanDifferential Revision: https://reviews.llvm.org/D119439

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Fri, 11 Feb 2022 18:15:18 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>fa6b9e40 - [libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#fa6b9e40</link>
        <description>[libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.Now we&apos;ll notice if a header forgets to include this magic phrase.Differential Revision: https://reviews.llvm.org/D118800

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Wed, 02 Feb 2022 01:16:40 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b2a0cc1c - [libc++] Guard bits of 598983d7 against _LIBCPP_HAS_NO_CONCEPTS.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#b2a0cc1c</link>
        <description>[libc++] Guard bits of 598983d7 against _LIBCPP_HAS_NO_CONCEPTS.

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Wed, 02 Feb 2022 16:19:46 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>38db42d0 - [libc++] [NFC] s/_LIBCPP_STD_VER &gt; 17 &amp;&amp; !defined(_LIBCPP_HAS_NO_CONCEPTS)/!defined(_LIBCPP_HAS_NO_CONCEPTS)/</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/tuple#38db42d0</link>
        <description>[libc++] [NFC] s/_LIBCPP_STD_VER &gt; 17 &amp;&amp; !defined(_LIBCPP_HAS_NO_CONCEPTS)/!defined(_LIBCPP_HAS_NO_CONCEPTS)/Per Discord discussion, we&apos;re normalizing on a simple `!defined(_LIBCPP_HAS_NO_CONCEPTS)`so that we can do a big search-and-replace for `!defined(_LIBCPP_HAS_NO_CONCEPTS)`back into `_LIBCPP_STD_VER &gt; 17` when we&apos;re ready to abandon support for concept-syntax-lesscompilers.Differential Revision: https://reviews.llvm.org/D118748

            List of files:
            /llvm-project-15.0.7/libcxx/include/tuple</description>
        <pubDate>Wed, 02 Feb 2022 00:59:37 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
