Skip to content

Commit a8b5fe0

Browse files
ldionnetstellar
authored andcommitted
[libc++] Add missing release note for LLVM 20 about zip_view (llvm#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 2cd8edd)
1 parent 41aefdb commit a8b5fe0

File tree

1 file changed

+11
-0
lines changed
  • libcxx/docs/ReleaseNotes

1 file changed

+11
-0
lines changed

libcxx/docs/ReleaseNotes/20.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ Deprecations and Removals
162162

163163
- Non-conforming extension ``packaged_task::result_type`` is deprecated. It will be removed in LLVM 21.
164164

165+
- The changes for ``ranges::zip_view`` from `P2165R4 <https://wg21.link/P2165R4>`_ have been implemented. This can
166+
lead to code assuming that ``zip_view`` produces ``std::pair`` to stop compiling now that it produces ``std::tuple``.
167+
The cases are rare since ``tuple`` and ``pair`` are compatible for the most part, but this can lead to code that
168+
was previously accepted now being rejected. This is necessary for libc++ to be conforming, so we don't provide any
169+
way to opt-out of that behavior.
170+
165171
Upcoming Deprecations and Removals
166172
----------------------------------
167173

@@ -205,3 +211,8 @@ ABI Affecting Changes
205211

206212
- The localization support base API has been reimplemented, leading to different functions being exported from the
207213
libc++ built library on Windows and Windows-like platforms.
214+
215+
- The changes for ``ranges::zip_view`` from `P2165R4 <https://wg21.link/P2165R4>`_ have been implemented. This changes
216+
the element type of ``zip_view`` from a ``std::pair`` to a ``std::tuple`` in some cases. This is technically an ABI
217+
break, however since ``zip_view`` is generally not an ABI sensitive type, we don't expect users to encounter any
218+
issues and we don't provide a way to change this behavior, which would make libc++ non-conforming.

0 commit comments

Comments
 (0)