https://gcc.gnu.org/g:f6f28dc41dd13d2117b1ca9ca8f728de429df136

commit r15-5487-gf6f28dc41dd13d2117b1ca9ca8f728de429df136
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Nov 19 23:59:00 2024 +0000

    libstdc++: Use const_iterator in std::set::find<K> return type
    
    François noticed that the "wrong" type is used in the return type for a
    std::set member function template.
    
    The iterator for our std::set is the same type as const_iterator,
    so this doesn't actually matter. But it's clearer if the return type
    matches the type used in the function body.
    
    libstdc++-v3/ChangeLog:
    
            * include/bits/stl_set.h (set::find): Use const_iterator in
            return type, not iterator.

Diff:
---
 libstdc++-v3/include/bits/stl_set.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libstdc++-v3/include/bits/stl_set.h 
b/libstdc++-v3/include/bits/stl_set.h
index c0eb4dbf65fb..3d17626f330b 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -875,7 +875,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       template<typename _Kt>
        auto
        upper_bound(const _Kt& __x) const
-       -> decltype(iterator(_M_t._M_upper_bound_tr(__x)))
+       -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x)))
        { return const_iterator(_M_t._M_upper_bound_tr(__x)); }
 #endif
       ///@}

Reply via email to