<?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 optional</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><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/optional#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/optional</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>db1978b6 - [libc++] Mark standard-mandated includes as such</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#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/optional</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/optional#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/optional</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>7b291b6f - [libc++] Fix typo in comment at __optional_storage_base</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#7b291b6f</link>
        <description>[libc++] Fix typo in comment at __optional_storage_baseSmall typo fix(es) for struct definition of __optional_storage_base fora reference type.Reviewed By: #libc, jloser, philnikDifferential Revision: https://reviews.llvm.org/D126621

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Thu, 02 Jun 2022 17:43:11 +0000</pubDate>
        <dc:creator>Will Hawkins &lt;whh8b@obs.cr&gt;</dc:creator>
    </item>
<item>
        <title>9e5c2934 - [libc++] Removes __cpp_lib_monadic_optional.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#9e5c2934</link>
        <description>[libc++] Removes __cpp_lib_monadic_optional.P0798R8 &quot;Monadic operations for std::optional&quot; has been implemented, sothis LWG issue can be adopted.During review it was discovered another paper bumped the macro. Thepart affecting optional of this paper is done, the variant isn&apos;t. Thestatus page is updated to reflect the current state.Implements- LWG 3621 Remove feature-test macro __cpp_lib_monadic_optionalUpdates status of- P2231R1 Missing constexpr in std::optional and std::variantReviewed By: #libc, philnik, ldionneDifferential Revision: https://reviews.llvm.org/D125813

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Tue, 17 May 2022 17:15:18 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>a83f4b9c - [libc++] Remove &lt;functional&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#a83f4b9c</link>
        <description>[libc++] Remove &lt;functional&gt; includesReviewed By: var-const, #libc, ldionneSpies: #libc_vendors, ldionne, libcxx-commits, miyukiDifferential Revision: https://reviews.llvm.org/D124123

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Sat, 23 Apr 2022 08:07:24 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>faef447e - [libc++] Granularize &lt;functional&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#faef447e</link>
        <description>[libc++] Granularize &lt;functional&gt; includesReviewed By: Mordante, #libcSpies: libcxx-commits, miyukiDifferential Revision: https://reviews.llvm.org/D123912

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Sun, 17 Apr 2022 14:01:38 +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/optional#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/optional</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/optional#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/optional</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>52915d78 - [libc++] Granularize &lt;utility&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#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/optional</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>f87aa19b - [libc++] Move everything related solely to _LIBCPP_ASSERT to its own file</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#f87aa19b</link>
        <description>[libc++] Move everything related solely to _LIBCPP_ASSERT to its own fileThis is the first step towards disentangling the debug mode and assertionsin libc++. This patch doesn&apos;t make any functional change: it simply moves_LIBCPP_ASSERT-related stuff to its own file so as to make it clear thatlibc++ assertions and the debug mode are different things. Future patcheswill make it possible to enable assertions without enabling the debugmode.Differential Revision: https://reviews.llvm.org/D119769

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Mon, 14 Feb 2022 18:41:09 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>fd4cc870 - [libc++] Allow backdeployment CI to run on newer macOS</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#fd4cc870</link>
        <description>[libc++] Allow backdeployment CI to run on newer macOSThis should work now that we are using a matching libunwind.dylib whenwe run the tests in back-deployment scenarios. The only restriction wehave now is to run on macOS x86_64, since that&apos;s what the old dylibswere compiled for. This should allow us to move to newer AppleClangsin the CI.As a fly-by, fix missing availability annotations on optional&apos;smonadic operations.Differential Revision: https://reviews.llvm.org/D119840

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Tue, 15 Feb 2022 14:34:04 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&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/optional#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/optional</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/optional#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/optional</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>a8f1a715 - [libc++] _Uglify some template parameter names. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#a8f1a715</link>
        <description>[libc++] _Uglify some template parameter names. NFCI.

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Mon, 10 Jan 2022 17:00:10 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>17cfc57d - [libc++] Implement P0798R8 (Monadic operations for std::optional)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#17cfc57d</link>
        <description>[libc++] Implement P0798R8 (Monadic operations for std::optional)Implement P0798R8Reviewed By: #libc, ldionne, QuuxplusoneSpies: tcanens, Quuxplusone, ldionne, Wmbat, arichardson, Mordante, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D113408

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Wed, 15 Dec 2021 19:54:24 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>d2b0df35 - [libc++][NFC] Update namespace comments in include/</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#d2b0df35</link>
        <description>[libc++][NFC] Update namespace comments in include/update the namspace comments in include/Reviewed By: ldionne, #libcSpies: smeenai, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D114947

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Thu, 02 Dec 2021 13:12:51 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>eb8650a7 - [runtimes][NFC] Remove filenames at the top of the license notice</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#eb8650a7</link>
        <description>[runtimes][NFC] Remove filenames at the top of the license noticeWe&apos;ve stopped doing it in libc++ for a while now because these nameswould end up rotting as we move things around and copy/paste stuff.This cleans up all the existing files so as to stop the spreadingas people copy-paste headers around.

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Wed, 17 Nov 2021 21:25:01 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cb793e1a - [libc++][NFCI] Remove uses of _LIBCPP_INLINE_VAR</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#cb793e1a</link>
        <description>[libc++][NFCI] Remove uses of _LIBCPP_INLINE_VARAll supported compilers provide support for inline variables in C++17 now.Also, as a fly-by fix, replace some uses of _LIBCPP_CONSTEXPR by justconstexpr.The only exception in this patch is `std::ignore`, which is providedprior to C++17. Since it is defined in an anonymous namespace, it alwayshas internal linkage anyway, so using an inline variable there doesn&apos;tprovide any benefit. Instead, `inline` was removed entirely on `std::ignore`.Differential Revision: https://reviews.llvm.org/D110243

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Wed, 22 Sep 2021 13:35:32 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4e0ea2cf - [libc++] Use enable_if_t instead of _EnableIf</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/optional#4e0ea2cf</link>
        <description>[libc++] Use enable_if_t instead of _EnableIfI just ran into a compiler error involving __bind_back and some overloadsthat were being disabled with _EnableIf. I noticed that the error messagewas quite bad and did not mention the reason for the overload beingexcluded. Specifically, the error looked like this:     candidate template ignored: substitution failure [with _Args =     &lt;ContiguousView&gt;]: no member named &apos;_EnableIfImpl&apos; in &apos;std::_MetaBase&lt;false&gt;&apos;Instead, when using enable_if or enable_if_t, the compiler is clever andcan produce better diagnostics, like so:     candidate template ignored: requirement &apos;is_invocable_v&lt;          std::__bind_back_op&lt;1, std::integer_sequence&lt;unsigned long, 0&gt;&gt;,          std::ranges::views::__transform::__fn &amp;, std::tuple&lt;PlusOne&gt; &amp;,          ContiguousView&gt;&apos; was not satisfied [with _Args = &lt;ContiguousView&gt;]Basically, it tries to do a poor man&apos;s implementation of concepts, whichis already a lot better than simply complaining about substitution failure.Hence, this commit uses enable_if_t instead of _EnableIf wheneverpossible. That is both more straightforward than using the internalhelper, and also leads to better error messages in those cases.I understand the motivation for _EnableIf&apos;s implementation was to improvecompile-time performance, however I believe striving to improve errormessages is even more important for our QOI, hence this patch. Furthermore,it is unclear that _EnableIf actually improved compile-time performancein any noticeable way (see discussion in the review for details).Differential Revision: https://reviews.llvm.org/D108216

            List of files:
            /llvm-project-15.0.7/libcxx/include/optional</description>
        <pubDate>Tue, 17 Aug 2021 16:26:09 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
