blob: a89d4cdeb6202eaf1ab4b8c427aaa035f39249ab [file] [log] [blame]
Hans Wennborg003a9982019-07-18 11:51:05 +00001=========================================
Tom Stellardf3752922022-07-26 19:43:55 -07002Libc++ 16.0.0 (In-Progress) Release Notes
Hans Wennborg003a9982019-07-18 11:51:05 +00003=========================================
Louis Dionne42222072018-09-06 14:46:22 +00004
5.. contents::
6 :local:
7 :depth: 2
8
Hans Wennborg3329a842018-09-10 08:57:12 +00009Written by the `Libc++ Team <https://libcxx.llvm.org>`_
Louis Dionne42222072018-09-06 14:46:22 +000010
11.. warning::
12
Tom Stellardf3752922022-07-26 19:43:55 -070013 These are in-progress notes for the upcoming libc++ 16 release.
Louis Dionne42222072018-09-06 14:46:22 +000014 Release notes for previous releases can be found on
Hans Wennborg3329a842018-09-10 08:57:12 +000015 `the Download Page <https://releases.llvm.org/download.html>`_.
Louis Dionne42222072018-09-06 14:46:22 +000016
17Introduction
18============
19
20This document contains the release notes for the libc++ C++ Standard Library,
Tom Stellardf3752922022-07-26 19:43:55 -070021part of the LLVM Compiler Infrastructure, release 16.0.0. Here we describe the
Louis Dionne42222072018-09-06 14:46:22 +000022status of libc++ in some detail, including major improvements from the previous
23release and new feature work. For the general LLVM release notes, see `the LLVM
Hans Wennborg3329a842018-09-10 08:57:12 +000024documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM releases may
25be downloaded from the `LLVM releases web site <https://llvm.org/releases/>`_.
Louis Dionne42222072018-09-06 14:46:22 +000026
27For more information about libc++, please see the `Libc++ Web Site
Hans Wennborg3329a842018-09-10 08:57:12 +000028<https://libcxx.llvm.org>`_ or the `LLVM Web Site <https://llvm.org>`_.
Louis Dionne42222072018-09-06 14:46:22 +000029
Hans Wennborgfc14f4e2020-01-15 10:02:56 +010030Note that if you are reading this file from a Git checkout or the
Louis Dionne42222072018-09-06 14:46:22 +000031main Libc++ web page, this document applies to the *next* release, not
32the current one. To see the release notes for a specific release, please
Hans Wennborg3329a842018-09-10 08:57:12 +000033see the `releases page <https://llvm.org/releases/>`_.
Louis Dionne42222072018-09-06 14:46:22 +000034
Tom Stellardf3752922022-07-26 19:43:55 -070035What's New in Libc++ 16.0.0?
Hans Wennborg003a9982019-07-18 11:51:05 +000036============================
Louis Dionne42222072018-09-06 14:46:22 +000037
Nikolas Klauser4f4a9bd2022-06-17 20:20:48 +020038Implemented Papers
39------------------
Igor Zhukova925f622022-08-02 12:46:31 +020040- P2499R0 - ``string_view`` range constructor should be ``explicit``
Nikolas Klauser73015c12022-08-13 13:52:35 +020041- P2417R2 - A more constexpr bitset
Louis Dionne42222072018-09-06 14:46:22 +000042
Louis Dionne1ce86ad2022-07-21 12:48:14 -040043Improvements and New Features
44-----------------------------
Nikolas Klauser4f4a9bd2022-06-17 20:20:48 +020045
Louis Dionne1ce86ad2022-07-21 12:48:14 -040046Deprecations and Removals
47-------------------------
Louis Dionne12507ef2022-03-07 09:00:17 -050048
Louis Dionne1ce86ad2022-07-21 12:48:14 -040049Upcoming Deprecations and Removals
50----------------------------------
51
Adrian Vogelsgesang55e0c492022-07-31 16:12:42 -070052API Changes
53-----------
54- The comparison operators on ``thread::id`` are now defined as free-standing
55 functions instead of as hidden friends, in conformance with the C++ standard.
56 Also see `issue 56187 <https://github.com/llvm/llvm-project/issues/56187>`_.
57
Nikolas Klauser3e7bca12022-08-19 15:41:56 +020058- ``_LIBCPP_ENABLE_NODISCARD`` and ``_LIBCPP_DISABLE_NODISCARD_AFTER_CXX17`` are no longer respected.
59 Any standards-required ``[[nodiscard]]`` applications in C++20 are now always enabled. Any extended applications
60 can now be enabled by defining ``_LIBCPP_ENABLE_NODISCARD_EXT``.
61
Louis Dionne1ce86ad2022-07-21 12:48:14 -040062ABI Affecting Changes
63---------------------
Joe Loser8fcb1d92021-10-28 15:38:02 -040064
Louis Dionne14918c82021-10-18 13:58:31 -040065Build System Changes
66--------------------