libstdc++: Implement LWG 3557 change to convertible_to
authorPatrick Palka <ppalka@redhat.com>
Fri, 18 Jun 2021 15:51:33 +0000 (11:51 -0400)
committerPatrick Palka <ppalka@redhat.com>
Fri, 18 Jun 2021 15:51:33 +0000 (11:51 -0400)
libstdc++-v3/ChangeLog:

* include/std/concepts (convertible_to): Just use declval as per
LWG 3557.

libstdc++-v3/include/std/concepts

index 4490f53..7f5421f 100644 (file)
@@ -70,9 +70,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   /// [concept.convertible], concept convertible_to
   template<typename _From, typename _To>
     concept convertible_to = is_convertible_v<_From, _To>
-      && requires(add_rvalue_reference_t<_From> (&__f)()) {
-         static_cast<_To>(__f());
-      };
+      && requires { static_cast<_To>(std::declval<_From>()); };
 
   /// [concept.commonref], concept common_reference_with
   template<typename _Tp, typename _Up>