[llvm-branch-commits] [libcxx] a8b5fe0 - [libc++] Add missing release note for LLVM 20 about zip_view (#134144)

Tom Stellard via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Apr 11 11:00:34 PDT 2025


Author: Louis Dionne
Date: 2025-04-11T11:00:14-07:00
New Revision: a8b5fe017a5e8987ac9d992d613bdbc64c282806

URL: https://github.com/llvm/llvm-project/commit/a8b5fe017a5e8987ac9d992d613bdbc64c282806
DIFF: https://github.com/llvm/llvm-project/commit/a8b5fe017a5e8987ac9d992d613bdbc64c282806.diff

LOG: [libc++] Add missing release note for LLVM 20 about zip_view (#134144)

We should have had a release note in LLVM 20 about implementing P2165R4
since that is technically an ABI and API break for zip_view. We don't
expect anyone to actually hit the ABI issue, but we've come across some
(fairly small) breakage due to the API change, so this should at least
be mentioned in the release notes.

(cherry picked from commit 2cd8edd1fff2a9d82902f70270b4209463a34cba)

Added: 
    

Modified: 
    libcxx/docs/ReleaseNotes/20.rst

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/ReleaseNotes/20.rst b/libcxx/docs/ReleaseNotes/20.rst
index 57ab0c167544b..06e6e673b5508 100644
--- a/libcxx/docs/ReleaseNotes/20.rst
+++ b/libcxx/docs/ReleaseNotes/20.rst
@@ -162,6 +162,12 @@ Deprecations and Removals
 
 - Non-conforming extension ``packaged_task::result_type`` is deprecated. It will be removed in LLVM 21.
 
+- The changes for ``ranges::zip_view`` from `P2165R4 <https://wg21.link/P2165R4>`_ have been implemented. This can
+  lead to code assuming that ``zip_view`` produces ``std::pair`` to stop compiling now that it produces ``std::tuple``.
+  The cases are rare since ``tuple`` and ``pair`` are compatible for the most part, but this can lead to code that
+  was previously accepted now being rejected. This is necessary for libc++ to be conforming, so we don't provide any
+  way to opt-out of that behavior.
+
 Upcoming Deprecations and Removals
 ----------------------------------
 
@@ -205,3 +211,8 @@ ABI Affecting Changes
 
 - The localization support base API has been reimplemented, leading to 
diff erent functions being exported from the
   libc++ built library on Windows and Windows-like platforms.
+
+- The changes for ``ranges::zip_view`` from `P2165R4 <https://wg21.link/P2165R4>`_ have been implemented. This changes
+  the element type of ``zip_view`` from a ``std::pair`` to a ``std::tuple`` in some cases. This is technically an ABI
+  break, however since ``zip_view`` is generally not an ABI sensitive type, we don't expect users to encounter any
+  issues and we don't provide a way to change this behavior, which would make libc++ non-conforming.


        


More information about the llvm-branch-commits mailing list