]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Use const_iterator in std::set::find<K> return type
authorJonathan Wakely <jwakely@redhat.com>
Tue, 19 Nov 2024 23:59:00 +0000 (23:59 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 20 Nov 2024 06:44:50 +0000 (06:44 +0000)
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.

libstdc++-v3/include/bits/stl_set.h

index c0eb4dbf65fb46f8b89afe1900b37597428d7df5..3d17626f330b6bcd1a0081e314abff88540640d4 100644 (file)
@@ -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
       ///@}