From: Jonathan Wakely Date: Wed, 19 Feb 2020 21:31:06 +0000 (+0000) Subject: libstdc++: Simplify std::totally_ordered_with (LWG 3329) X-Git-Tag: basepoints/gcc-11~1336 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=241ed965509ac931e9ae5f331d0294c1ee4ccd89;p=thirdparty%2Fgcc.git libstdc++: Simplify std::totally_ordered_with (LWG 3329) * include/std/concepts (totally_ordered_with): Remove redundant requirement (LWG 3329). --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6e22536680fc..3941bcbe7ba9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,8 @@ 2020-02-19 Jonathan Wakely + * include/std/concepts (totally_ordered_with): Remove redundant + requirement (LWG 3329). + * include/std/ranges (__detail::__convertible_to_non_slicing): New helper concept. (__detail::__pair_like_convertible_to): Remove. diff --git a/libstdc++-v3/include/std/concepts b/libstdc++-v3/include/std/concepts index f3db40b798fe..be125c636a14 100644 --- a/libstdc++-v3/include/std/concepts +++ b/libstdc++-v3/include/std/concepts @@ -311,10 +311,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template concept totally_ordered_with = totally_ordered<_Tp> && totally_ordered<_Up> - && common_reference_with<__detail::__cref<_Tp>, __detail::__cref<_Up>> + && equality_comparable_with<_Tp, _Up> && totally_ordered, __detail::__cref<_Up>>> - && equality_comparable_with<_Tp, _Up> && requires(__detail::__cref<_Tp> __t, __detail::__cref<_Up> __u) { { __t < __u } -> __detail::__boolean_testable; { __t > __u } -> __detail::__boolean_testable;