From 5ff36db37834a619715636c8948c2b4ab4662c1f Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Wed, 26 Mar 2025 15:53:53 +0100
Subject: [PATCH] Replace std::result_of by std::invoke_result_t

The former is deprecated, and not supported by all compilers anymore.
---
 dune/solvers/iterationsteps/blockgssteps.hh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dune/solvers/iterationsteps/blockgssteps.hh b/dune/solvers/iterationsteps/blockgssteps.hh
index 7ed5a385..f15e7f70 100644
--- a/dune/solvers/iterationsteps/blockgssteps.hh
+++ b/dune/solvers/iterationsteps/blockgssteps.hh
@@ -3,6 +3,7 @@
 
 #include <cassert>
 #include <functional>
+#include <type_traits>
 
 #include <dune/common/parametertree.hh>
 
@@ -181,7 +182,7 @@ template <class LinearSolver>
 auto truncateSymmetrically(LinearSolver&& linearSolver) {
   return [linearSolver = std::move(linearSolver) ](
       const auto& m, const auto& b, const auto& ignore) {
-    using Return = typename std::result_of<LinearSolver(decltype(m), decltype(b))>::type;
+    using Return = std::invoke_result_t<LinearSolver, decltype(m), decltype(b)>;
     if (ignore.all())
       return Return(0);
 
-- 
GitLab