[libc++][pstl][NFC] Remove usage of std::result_of from Parallel STL

std::result_of creates problems when building with C++20 because it's
deprecated there.

The solution is to remove it and get return value type for a function
with decltype.

Substitute std::invoke_result for std::result_of is unnecessary because
we don't have std::invoke semantics within the function - we don't work
with pointer-to-member's.

Reviewed by: ldionne, MikeDvorskiy, #libc

Differential Revision: https://reviews.llvm.org/D118457

GitOrigin-RevId: d01d91d1aec9cca8dc7259009a6b3db0900e8623
diff --git a/include/pstl/internal/utils.h b/include/pstl/internal/utils.h
index c181ddb..ec9d467 100644
--- a/include/pstl/internal/utils.h
+++ b/include/pstl/internal/utils.h
@@ -21,8 +21,8 @@
 {
 
 template <typename _Fp>
-typename std::result_of<_Fp()>::type
-__except_handler(_Fp __f)
+auto
+__except_handler(_Fp __f) -> decltype(__f())
 {
     try
     {