mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-25 06:55:32 +01:00
faa59b3679util: Add Expected::swap() (MarcoFalke)fabb47e4e3util: Implement Expected::operator*()&& (MarcoFalke)fab9721430util: Implement Expected::value()&& and Expected::error()&& (MarcoFalke)fac4800959util: Add Expected<void, E> specialization (MarcoFalke)fa6575d6c2util: Make Expected::value() throw (MarcoFalke)fa1de1103futil: Add Unexpected::error() (MarcoFalke)faa109f8betest: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == (MarcoFalke)fad4a9fe2bSet bugprone-unused-return-value.AllowCastToVoid (MarcoFalke) Pull request description: Reviewers requested more member functions In https://github.com/bitcoin/bitcoin/pull/34006. They are currently unused, but bring the port closer to the original `std::expected` implementation: * Make `Expected::value()` throw when no value exists * Add `Unexpected::error()` methods * Add `Expected<void, E>` specialization * Add `Expected::value()&&` and `Expected::error()&&` methods * Add `Expected::swap()` Also, include a tiny tidy fixup: * tidy: Set `AllowCastToVoid` in the `bugprone-unused-return-value` check ACKs for top commit: stickies-v: re-ACKfaa59b3679ryanofsky: Code review ACKfaa59b3679. Thanks for the update. The commit I objected to is fixed now and the rest of the implementation seems good enough for code that's probably temporary. hodlinator: re-ACKfaa59b3679Tree-SHA512: b6ac28c1e7241837d9db83fe7534d713ca1283c20a77d2273743157d329f041ec0b503658d14b2f4425211808b61a88fed115d77149e0546825acd3bd9198edf