[libc++] Use std::is_nothrow_callable for std::invoke according to LWG 2807

Thanks to Zoe Carver for the patch.
Differential Revision: https://reviews.llvm.org/D58097

llvm-svn: 357616
diff --git a/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp b/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp
index 57350f1..0f25db0 100644
--- a/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp
+++ b/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp
@@ -10,8 +10,9 @@
 
 // <functional>
 
-// template <class F, class ...Args>
-// result_of_t<F&&(Args&&...)> invoke(F&&, Args&&...);
+// template<class F, class... Args>
+// invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) // C++17
+//     noexcept(is_nothrow_invocable_v<_Fn, _Args...>);
 
 /// C++14 [func.def] 20.9.0
 /// (1) The following definitions apply to this Clause: