in Source/Shared/arcana/threading/internal/internal_task.h [445:462]
static typename as_expected<ResultT, ErrorT>::type invoke(CallableT&& callable, InputT&&... input) noexcept
{
if constexpr (std::is_same<ErrorT, std::error_code>::value)
{
return callable(std::forward<InputT>(input)...);
}
else
{
try
{
return callable(std::forward<InputT>(input)...);
}
catch (...)
{
return make_unexpected(std::current_exception());
}
}
}