[gcc r16-2777] libstdc++: Remove 2 exports [PR121373]
Jakub Jelinek
jakub@gcc.gnu.org
Tue Aug 5 06:29:08 GMT 2025
https://gcc.gnu.org/g:1e8ee6fa93caef91f518c4b6be0fb9b7d140abfd
commit r16-2777-g1e8ee6fa93caef91f518c4b6be0fb9b7d140abfd
Author: Jakub Jelinek <jakub@redhat.com>
Date: Tue Aug 5 08:27:05 2025 +0200
libstdc++: Remove 2 exports [PR121373]
On Mon, Aug 04, 2025 at 11:33:17AM -0400, Patrick Palka wrote:
> > @@ -1693,6 +1697,8 @@ export namespace std
> > {
> > using std::ranges::advance;
> > using std::ranges::distance;
> > + using std::ranges::iter_move;
> > + using std::ranges::iter_swap;
>
> Actually a few lines above we already do:
>
> // _Cpo is an implementation detail we can't avoid exposing; if we do the
> // using in ranges directly, it conflicts with any friend functions of the
> // same name, which is why the customization points are in an inline
> // namespace in the first place.
> namespace ranges::inline _Cpo
> {
> using _Cpo::iter_move;
> using _Cpo::iter_swap;
> }
>
> So I think we don't want to export iter_move and iter_swap directly... Sorry
> for not catching this sooner :/
Here is a patch which does that.
2025-08-05 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/121373
* src/c++23/std.cc.in (std::ranges::iter_move, std::ranges::iter_swap):
Remove exports.
Diff:
---
libstdc++-v3/src/c++23/std.cc.in | 2 --
1 file changed, 2 deletions(-)
diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/std.cc.in
index 2300126a5b13..405bb6e7c1ce 100644
--- a/libstdc++-v3/src/c++23/std.cc.in
+++ b/libstdc++-v3/src/c++23/std.cc.in
@@ -1697,8 +1697,6 @@ export namespace std
{
using std::ranges::advance;
using std::ranges::distance;
- using std::ranges::iter_move;
- using std::ranges::iter_swap;
using std::ranges::next;
using std::ranges::prev;
}
More information about the Libstdc++-cvs
mailing list