fixed result for void

This commit is contained in:
Sascha Kühl 2025-02-04 15:37:39 +01:00
parent f01e9ff87f
commit 405f158a88
1 changed files with 3 additions and 3 deletions

View File

@ -156,7 +156,7 @@ public:
[[nodiscard]] bool is_ok() const { return !result_.has_value(); }
[[nodiscard]] bool is_error() const { return result_.has_value(); }
ErrorType&& release_error() { return result_->release(); }
ErrorType&& release_error() { return std::move(*result_); }
const ErrorType& err() const { return result_.value(); }
ErrorType err() { return result_.value(); }
@ -167,7 +167,7 @@ public:
return result<SecondValueType, ErrorType>(ok(f()));
}
return result<SecondValueType, ErrorType>(error(release_error()));
return result<SecondValueType, ErrorType>(failure(release_error()));
}
template<typename Func>
@ -176,7 +176,7 @@ public:
return f();
}
return result(error(release_error()));
return result(failure(release_error()));
}
template<typename Func, typename SecondErrorType = typename std::invoke_result_t<Func, ErrorType >::value_type>