result: enforce reference check specialization

This commit is contained in:
Liam 2022-10-13 11:01:28 -04:00
parent 64c2ccb0cb
commit c0fb5e876d

View File

@ -402,9 +402,8 @@ constexpr bool EvaluateResultFailure(const Result& r) {
} }
template <typename T> template <typename T>
constexpr void UpdateCurrentResultReference(T result_reference, Result result) { constexpr void UpdateCurrentResultReference(T result_reference, Result result) = delete;
ASSERT(false); // Intentionally not defined
}
template <> template <>
constexpr void UpdateCurrentResultReference<Result&>(Result& result_reference, Result result) { constexpr void UpdateCurrentResultReference<Result&>(Result& result_reference, Result result) {
@ -412,7 +411,7 @@ constexpr void UpdateCurrentResultReference<Result&>(Result& result_reference, R
} }
template <> template <>
constexpr void UpdateCurrentResultReference<Result>(Result result_reference, Result result) {} constexpr void UpdateCurrentResultReference<const Result>(Result result_reference, Result result) {}
} // namespace ResultImpl } // namespace ResultImpl
#define DECLARE_CURRENT_RESULT_REFERENCE_AND_STORAGE(COUNTER_VALUE) \ #define DECLARE_CURRENT_RESULT_REFERENCE_AND_STORAGE(COUNTER_VALUE) \