<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in variant</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>6f684816e25d8b4e5fb2cbc7d0560d608a8bd938 - [libc++] Use [[clang::no_specializations]] to diagnose invalid user specializations (#118167)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#6f684816e25d8b4e5fb2cbc7d0560d608a8bd938</link>
        <description>[libc++] Use [[clang::no_specializations]] to diagnose invalid user specializations (#118167)Some templates in the standard library are illegal to specialize for users(even if the specialization contains user-defined types). The [[clang::no_specializations]]attribute allows marking such base templates so that the compiler willdiagnose if users try adding a specialization.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Thu, 23 Jan 2025 12:18:54 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>f69585235ec85d54e0f3fc41b2d5700430907f99 - [libc++] Put _LIBCPP_NODEBUG on all internal aliases (#118710)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#f69585235ec85d54e0f3fc41b2d5700430907f99</link>
        <description>[libc++] Put _LIBCPP_NODEBUG on all internal aliases (#118710)This significantly reduces the amount of debug information generatedfor codebases using libc++, without hurting the debugging experience.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Wed, 08 Jan 2025 16:12:59 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>b9a2658a3e8bd13b0f9e7a8a440832a95b377216 - [libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#b9a2658a3e8bd13b0f9e7a8a440832a95b377216</link>
        <description>[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)This patch implements the forwarding to frozen C++03 headers asdiscussed inhttps://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In theRFC, we initially proposed selecting the right headers from the Clangdriver, however consensus seemed to steer towards handling this in thelibrary itself. This patch implements that direction.At a high level, the changes basically amount to making each publicheader look like this:```// inside &lt;vector&gt;#ifdef _LIBCPP_CXX03_LANG#  include &lt;__cxx03/vector&gt;#else  // normal &lt;vector&gt; content#endif```In most cases, public headers are simple umbrella headers so there isn&apos;tmuch code in the #else branch. In other cases, the #else branch containsthe actual implementation of the header.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Sat, 21 Dec 2024 12:01:48 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>59890c13343af9e308281b3c76bac425087f4f8a - [libc++] Granularize &lt;new&gt; includes (#119964)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#59890c13343af9e308281b3c76bac425087f4f8a</link>
        <description>[libc++] Granularize &lt;new&gt; includes (#119964)

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Tue, 17 Dec 2024 10:29:16 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>6157dbe48c21d900da1c7df11a8072a235f82001 - [libc++] Introduce __forward_as (#118168)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#6157dbe48c21d900da1c7df11a8072a235f82001</link>
        <description>[libc++] Introduce __forward_as (#118168)This allows forwarding an object as a specific type. This is usuallyuseful when using `deducing this` to avoid calling any functions in aderiving class.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Sat, 14 Dec 2024 14:09:16 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c166a9c713ec86b86f1f178a5133bc128fd0a610 - [libc++] Add #if 0 block to all the top-level headers (#119234)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#c166a9c713ec86b86f1f178a5133bc128fd0a610</link>
        <description>[libc++] Add #if 0 block to all the top-level headers (#119234)Including The frozen C++03 headers results in a lot of formattingchanges in the main headers, so this splits these changes into aseparate commit instead.This is part ofhttps://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Tue, 10 Dec 2024 15:02:12 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>2c10664afafcd5915ebbde9cb7cb0e9cf8751b34 - [libc++][NFC] Merge add_{const, cv, volatile}.h into a single header (#115610)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#2c10664afafcd5915ebbde9cb7cb0e9cf8751b34</link>
        <description>[libc++][NFC] Merge add_{const, cv, volatile}.h into a single header (#115610)There isn&apos;t much benefit in having granular headers for only a fewsimple lines of code.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Sun, 10 Nov 2024 12:21:42 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>de87dda2da7febb66bdbaff8328632b1db6c88b1 - [libc++][NFC] Use more appropriate type traits for a few cases (#114025)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#de87dda2da7febb66bdbaff8328632b1db6c88b1</link>
        <description>[libc++][NFC] Use more appropriate type traits for a few cases (#114025)

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Mon, 04 Nov 2024 17:58:49 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>e99c4906e44ae3f921fa05356909d006cda8d954 - [libc++] Granularize &lt;cstddef&gt; includes (#108696)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#e99c4906e44ae3f921fa05356909d006cda8d954</link>
        <description>[libc++] Granularize &lt;cstddef&gt; includes (#108696)

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Thu, 31 Oct 2024 01:20:10 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>ba87515fea90b5d55836a8e3be63a7e683ce299d - [libc++][RFC] Always define internal feature test macros (#89178)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#ba87515fea90b5d55836a8e3be63a7e683ce299d</link>
        <description>[libc++][RFC] Always define internal feature test macros (#89178)Currently, the library-internal feature test macros are only defined ifthe feature is not available, and always have the prefix`_LIBCPP_HAS_NO_`. This patch changes that, so that they are alwaysdefined and have the prefix `_LIBCPP_HAS_` instead. This changes thecanonical use of these macros to `#if _LIBCPP_HAS_FEATURE`, which meansthat using an undefined macro (e.g. due to a missing include) isdiagnosed now. While this is rather unlikely currently, a similar changein `&lt;__configuration/availability.h&gt;` caught a few bugs. This alsoimproves readability, since it removes the double-negation of `#ifndef_LIBCPP_HAS_NO_FEATURE`.The current patch only touches the macros defined in `&lt;__config&gt;`. Ifpeople are happy with this approach, I&apos;ll make a follow-up PR to alsochange the macros defined in `&lt;__config_site&gt;`.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Sat, 12 Oct 2024 07:49:52 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>09e3a360581dc36d0820d3fb6da9bd7cfed87b5d - [libc++][modules] Fix missing and incorrect includes (#108850)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#09e3a360581dc36d0820d3fb6da9bd7cfed87b5d</link>
        <description>[libc++][modules] Fix missing and incorrect includes (#108850)This patch adds a large number of missing includes in the libc++ headersand the test suite. Those were found as part of the effort to movetowards a mostly monolithic top-level std module.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Mon, 16 Sep 2024 19:06:20 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>04d3a6be62d338600f72d4dc2c7b24508cecd541 - [libc++][modules] Add a header to forward-declare std::get (#108285)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#04d3a6be62d338600f72d4dc2c7b24508cecd541</link>
        <description>[libc++][modules] Add a header to forward-declare std::get (#108285)This is necessary because e.g. ranges::elements_view uses std::get butit needs to have in scope the declaration of all the versions ofstd::get that exist in the library. This need is what had originally ledto elements_view.h gaining an include of __fwd/complex.h, but in realityit is a more general issue that requires a canonical declration pointfor all the std::get variations.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Thu, 12 Sep 2024 17:35:29 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>748023dc3210533df2c1c6efc8af1b5954493701 - [libc++][NFC] Replace _LIBCPP_NORETURN and TEST_NORETURN with [[noreturn]] (#80455)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#748023dc3210533df2c1c6efc8af1b5954493701</link>
        <description>[libc++][NFC] Replace _LIBCPP_NORETURN and TEST_NORETURN with [[noreturn]] (#80455)`[[__noreturn__]]` is now always available, so we can simply use theattribute directly instead of through a macro.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Wed, 11 Sep 2024 06:59:46 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>eb0f12188a3afa10ba353a32328577dc0d898524 - [libc++][modules] Tweak a few includes (#107467)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#eb0f12188a3afa10ba353a32328577dc0d898524</link>
        <description>[libc++][modules] Tweak a few includes (#107467)Add a few missing includes, remove two unnecessary ones and use__cstddef/size_t.h instead of &lt;cstddef&gt; in a few places. This is acollection of miscellaneous findings that collectively unblock othermodularization patches.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Fri, 06 Sep 2024 16:10:04 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b - [libc++][NFC] Run clang-format on libcxx/include again (#95874)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b</link>
        <description>[libc++][NFC] Run clang-format on libcxx/include again (#95874)As time went by, a few files have become mis-formatted w.r.t.clang-format. This was made worse by the fact that formatting was notbeing enforced in extensionless headers. This commit simply brings allof libcxx/include in-line with clang-format again.We might have to do this from time to time as we update our clang-formatversion, but frankly this is really low effort now that we&apos;ve formattedeverything once.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Tue, 18 Jun 2024 13:13:45 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1ba8ed0cd7d03ed9b70aaf32b3d8e9205ef95ef2 - [libc++] Mark more types as trivially relocatable (#89724)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#1ba8ed0cd7d03ed9b70aaf32b3d8e9205ef95ef2</link>
        <description>[libc++] Mark more types as trivially relocatable (#89724)Co-authored-by: Louis Dionne &lt;ldionne.2@gmail.com&gt;

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Mon, 17 Jun 2024 11:09:04 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>04f01a2b9cedc291fa7dd941de841dc957c75a33 - [libc++] Make the __availability header a sub-header of __config (#93083)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#04f01a2b9cedc291fa7dd941de841dc957c75a33</link>
        <description>[libc++] Make the __availability header a sub-header of __config (#93083)In essence, this header has always been related to configuration ofthe library but we didn&apos;t want to put it inside &lt;__config&gt; due tocomplexity reasons. Now that we have sub-headers in &lt;__config&gt;, wecan move &lt;__availability&gt; to it and stop including it everywhere sincewe already obtain the required macros via &lt;__config&gt;.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Wed, 29 May 2024 01:29:11 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>52271a5c11f6abde1fa1221db304212b5eb8ec7c - [libc++] Make `constexpr std::variant`. Implement P2231R1 (#83335)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#52271a5c11f6abde1fa1221db304212b5eb8ec7c</link>
        <description>[libc++] Make `constexpr std::variant`. Implement P2231R1 (#83335)Fixes #86686

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Fri, 10 May 2024 14:13:00 +0000</pubDate>
        <dc:creator>Hui &lt;hui.xie1990@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>584a9bfa0eb60ef04406eef50da26a5cb32c801d - [libc++] Reorganize the std::variant macros (#89419)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#584a9bfa0eb60ef04406eef50da26a5cb32c801d</link>
        <description>[libc++] Reorganize the std::variant macros (#89419)std::variant uses multiple macros to generate special member functions.These macros were very subtle to read because of e.g. a macro argumentappearing in the middle of a macro-ized class definition. In conjunctionwith clang-format, this could lead to extremely subtle macro expansionsthat were not easy to parse for humans.By adding semi-colons in macro expansions in judicious places,clang-format does a better job and makes these macros a lot easier toread.As a drive-by fix, I noticed that several of these functions weremissing HIDE_FROM_ABI annotations, so I added them.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Thu, 25 Apr 2024 13:25:46 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ab22504479cb7b8985855aa2f2c851390bc1d167 - [libc++] Fix usage of &apos;exclude_from_explicit_instantiation&apos; attribute on local class members (#89377)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/variant#ab22504479cb7b8985855aa2f2c851390bc1d167</link>
        <description>[libc++] Fix usage of &apos;exclude_from_explicit_instantiation&apos; attribute on local class members (#89377)#88777 adds a warning for when the `exclude_from_explicit_instantiation`attribute is applied to local classes and members thereof. This patchaddresses the few instances of `exclude_from_explicit_instantiation`being applied to local class members in libc++.

            List of files:
            /llvm-project/libcxx/include/variant</description>
        <pubDate>Fri, 19 Apr 2024 17:20:36 +0000</pubDate>
        <dc:creator>Krystian Stasiowski &lt;sdkrystian@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
