[libc++] Remove extension to support allocator<const T>
This extension is a portability trap for users, since no other standard
library supports it. Furthermore, the Standard explicitly allows
implementations to reject std::allocator<cv T>, so allowing it is
really going against the current.
This was discovered in D120684: this extension required `const_cast`ing
in `__construct_range_forward`, a fishy bit of code that can be removed
if we don't support the extension anymore.
Differential Revision: https://reviews.llvm.org/D120996
NOKEYCHECK=True
GitOrigin-RevId: bed3240bf7d196a17cc31f1c5b59b4721017e638
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index 19cc2da..c458705 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -69,6 +69,11 @@
- The C++14 function ``std::quoted(const char*)`` is no longer supported in
C++03 or C++11 modes.
+- libc++ no longer supports containers of ``const``-qualified element type,
+ such as ``vector<const T>`` and ``list<const T>``. This used to be supported
+ as an extension. Likewise, ``std::allocator<const T>`` is no longer supported.
+ If you were using ``vector<const T>``, replace it with ``vector<T>`` instead.
+
ABI Changes
-----------