[gcc r11-9125] libstdc++: Implement LWG 3557 change to convertible_to

Patrick Palka ppalka@gcc.gnu.org
Tue Oct 12 18:08:56 GMT 2021


https://gcc.gnu.org/g:3c2397242a051eaf1f9fc9797142ecf7b00256b8

commit r11-9125-g3c2397242a051eaf1f9fc9797142ecf7b00256b8
Author: Patrick Palka <ppalka@redhat.com>
Date:   Fri Jun 18 11:51:33 2021 -0400

    libstdc++: Implement LWG 3557 change to convertible_to
    
    libstdc++-v3/ChangeLog:
    
            * include/std/concepts (convertible_to): Just use declval as per
            LWG 3557.
    
    (cherry picked from commit 83faf7eacd2081a373afb6069fd923c2dc497271)

Diff:
---
 libstdc++-v3/include/std/concepts | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/libstdc++-v3/include/std/concepts b/libstdc++-v3/include/std/concepts
index 4490f534412..7f5421f1475 100644
--- a/libstdc++-v3/include/std/concepts
+++ b/libstdc++-v3/include/std/concepts
@@ -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>


More information about the Gcc-cvs mailing list