36 [[nodiscard]]
static auto
37 wrap(
auto&& fn)
noexcept
39 return [fn = std::forward<decltype(fn)>(fn)]<
typename... Args>(
43 std::invoke(std::forward<
decltype(fn)>(fn), outcome, std::forward<Args>(args)...);
44 }
catch (std::exception
const& e) {
47 ExecutionError{fmt::format(
"{}", std::this_thread::get_id()), e.what()}
53 ExecutionError{fmt::format(
"{}", std::this_thread::get_id()),
"unknown"}
60 [[nodiscard]]
static auto
65 return [fn = std::forward<decltype(fn)>(fn)]
mutable {
67 std::invoke(std::forward<
decltype(fn)>(fn));
68 }
catch (std::exception
const& e) {
69 ASSERT(
false,
"Exception caught: {}", e.what());
71 ASSERT(
false,
"Unknown exception caught");