[gcc/devel/gccgo] libstdc++: Simplify std::totally_ordered_with (LWG 3329)

Ian Lance Taylor ian@gcc.gnu.org
Sat Apr 4 21:17:06 GMT 2020


https://gcc.gnu.org/g:241ed965509ac931e9ae5f331d0294c1ee4ccd89

commit 241ed965509ac931e9ae5f331d0294c1ee4ccd89
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Feb 19 21:31:06 2020 +0000

    libstdc++: Simplify std::totally_ordered_with (LWG 3329)
    
            * include/std/concepts (totally_ordered_with): Remove redundant
            requirement (LWG 3329).

Diff:
---
 libstdc++-v3/ChangeLog            | 3 +++
 libstdc++-v3/include/std/concepts | 3 +--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6e22536680f..3941bcbe7ba 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
 2020-02-19  Jonathan Wakely  <jwakely@redhat.com>
 
+	* 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 f3db40b798f..be125c636a1 100644
--- a/libstdc++-v3/include/std/concepts
+++ b/libstdc++-v3/include/std/concepts
@@ -311,10 +311,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<typename _Tp, typename _Up>
     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<common_reference_t<__detail::__cref<_Tp>,
 					    __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;


More information about the Libstdc++-cvs mailing list