Merge 1e4a3c057a into merged_master (Bitcoin PR #21317)

This commit is contained in:
Andrew Poelstra 2021-06-27 22:06:41 +00:00
commit 63f9d2d6c2
2 changed files with 4 additions and 1 deletions

View file

@ -77,6 +77,9 @@ BOOST_AUTO_TEST_CASE(util_check)
const int two = *Assert(p_two);
Assert(two == 2);
Assert(true);
// Check that Assume can be used as unary expression
const bool result{Assume(two == 2)};
Assert(result);
}
BOOST_AUTO_TEST_CASE(util_criticalsection)

View file

@ -69,7 +69,7 @@ T get_pure_r_value(T&& val)
#ifdef ABORT_ON_FAILED_ASSUME
#define Assume(val) Assert(val)
#else
#define Assume(val) ((void)(val))
#define Assume(val) ([&]() -> decltype(get_pure_r_value(val)) { auto&& check = (val); return std::forward<decltype(get_pure_r_value(val))>(check); }())
#endif
#endif // BITCOIN_UTIL_CHECK_H