diff --git a/deps/ox/src/ox/std/error.hpp b/deps/ox/src/ox/std/error.hpp index e0d5fa167..d1a2cf6f0 100644 --- a/deps/ox/src/ox/std/error.hpp +++ b/deps/ox/src/ox/std/error.hpp @@ -197,6 +197,14 @@ struct [[nodiscard]] Result { } return value; } + + constexpr ox::Result to(const auto &f) noexcept { + if (error) [[unlikely]] { + return OxError(1); + } + return f(value); + } + }; namespace detail { @@ -206,8 +214,8 @@ constexpr Error toError(const Error &e) noexcept { } template -constexpr Error toError(const Result &ve) noexcept { - return ve.error; +constexpr Error toError(const Result &r) noexcept { + return r.error; } }