From: Patrick Palka Date: Fri, 18 Jun 2021 15:51:33 +0000 (-0400) Subject: libstdc++: Implement LWG 3557 change to convertible_to X-Git-Tag: releases/gcc-11.3.0~768 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c2397242a051eaf1f9fc9797142ecf7b00256b8;p=thirdparty%2Fgcc.git 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 --git a/libstdc++-v3/include/std/concepts b/libstdc++-v3/include/std/concepts index 4490f5344125..7f5421f1475e 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 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