[libc++][format] Use forwarding references.
This implements a not accepted LWG issue. Not doing so would require
integral types to use the handle class instead of being directly stored
in the basic_format_arg.
The previous code used `std::forward` in places where it wasn't required
by the Standard. These are now removed.
Implements:
- P2418R2 Add support for std::generator-like types to std::format
- LWG 3631 basic_format_arg(T&&) should use remove_cvref_t<T> throughout
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D127570
NOKEYCHECK=True
GitOrigin-RevId: 606e280811f2e17dd3561968139873857dc0a6f8
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index c6eb835..b564017 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -47,6 +47,7 @@
- N4190 (Removing auto_ptr, random_shuffle(), And Old <functional> Stuff)
- P0154R1 (Hardware inference size)
- P0618R0 (Deprecating <codecvt>)
+- P2418R2 (Add support for ``std::generator``-like types to ``std::format``)
- Marked the following papers as "Complete" (note that some of those might have
been implemented in a previous release but not marked as such):
@@ -84,6 +85,9 @@
of throwing an exception at run-time. (This does not affect the ``v``
functions.)
+- All format functions in ``<format>`` allow the usage of non-copyable types as
+ argument for the formatting functions. This change causes bit fields to become
+ invalid arguments for the formatting functions.
API Changes
-----------