diff --git a/base/cvd/cuttlefish/result/expect.h b/base/cvd/cuttlefish/result/expect.h index a9c437b3a10..5f785e4e6b2 100644 --- a/base/cvd/cuttlefish/result/expect.h +++ b/base/cvd/cuttlefish/result/expect.h @@ -56,14 +56,11 @@ T OutcomeDereference(std::optional&& value) { return std::move(*value); } +inline void OutcomeDereference(Result&&) {} + template -typename std::conditional_t, bool, T> OutcomeDereference( - Result&& result) { - if constexpr (std::is_void::value) { - return result.ok(); - } else { - return std::move(*result); - } +T OutcomeDereference(Result&& result) { + return std::move(*result); } template @@ -84,11 +81,6 @@ bool TypeIsSuccess(Result& value) { return value.ok(); } -template -bool TypeIsSuccess(Result&& value) { - return value.ok(); -} - inline auto ErrorFromType(bool) { return StackTraceError(); } template @@ -101,11 +93,6 @@ auto ErrorFromType(Result& value) { return value.error(); } -template -auto ErrorFromType(Result&& value) { - return value.error(); -} - #define CF_EXPECT_OVERLOAD(_1, _2, NAME, ...) NAME #define CF_EXPECT2(RESULT, MSG) \ diff --git a/base/cvd/cuttlefish/result/result.h b/base/cvd/cuttlefish/result/result.h index 88291fc647b..cb862269958 100644 --- a/base/cvd/cuttlefish/result/result.h +++ b/base/cvd/cuttlefish/result/result.h @@ -15,5 +15,5 @@ #pragma once -#include "cuttlefish/result/expect.h" // IWYU pragma: export +#include "cuttlefish/result/expect.h" // IWYU pragma: export #include "cuttlefish/result/result_type.h" // IWYU pragma: export