aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/include/std/future4
2 files changed, 5 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 692a468..9356e47 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/future (__async_result_of): Use __invoke_result instead
+ of result_of.
+
* include/std/any (any_cast): Use __remove_cvref_t.
* include/std/tuple (__make_tuple): Likewise.
* include/std/type_traits (__remove_cvref_t): Define.
diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future
index f9ad566..c17a253 100644
--- a/libstdc++-v3/include/std/future
+++ b/libstdc++-v3/include/std/future
@@ -181,8 +181,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// 2021. Further incorrect usages of result_of
template<typename _Fn, typename... _Args>
- using __async_result_of = typename result_of<
- typename decay<_Fn>::type(typename decay<_Args>::type...)>::type;
+ using __async_result_of = typename __invoke_result<
+ typename decay<_Fn>::type, typename decay<_Args>::type...>::type;
template<typename _Fn, typename... _Args>
future<__async_result_of<_Fn, _Args...>>