https://gcc.gnu.org/g:1e8ee6fa93caef91f518c4b6be0fb9b7d140abfd

commit r16-2777-g1e8ee6fa93caef91f518c4b6be0fb9b7d140abfd
Author: Jakub Jelinek <ja...@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  <ja...@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;
   }

Reply via email to