Releases: ned14/outcome
All tests passed 5bf34fbf997e5f4f3551cbe8d335964a046c27f4
Fixes to previous commits as found the code didn't link under optimisation.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed 3519b5a457aaa4b5de355c55ce9570ffbaed1dad
Add missing docs for previous commit.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed 10eb45ca7d11a35df14e0fa89939a3e3185c0aa9
- Outcome.Experimental has had C representation support since the beginning, however it had
been mainly intended that C++ would originate Results, they would pass through C, and back
into C++. It hadn't really been expected that C would want to do much with Results other than
inspect them for happy or sad path.
It turns out there is more demand than expected for a more functional Result from within C,
so this release adds the power to create Results in success and two types of failure, semantic
comparison of Results, and printing of Result messages. You can also wrap a C enum into a
quick status code from enum, allowing easy custom C error coding from 100% within C.
[The documentation for the C support]({{% relref "../experimental/c-api" %}}) has been updated
to reflect the new facilities.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed 5bcd0f32f28659a0eab62f1d643d878c2220788d
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed f5a45b6909e732174fe98e59548914bcaa67d847
Hopefully fix issue #300 caused by MSVC changing what diagnostic
it prints.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
v2.2.9 Boost 1.85 release
v2.2.9 15th April 2024 (Boost 1.85) [release]
Enhancements:
- Some users wished that Outcome would be clean with
-Wpedantic
, this is now turned on for
the test suite.
- All use of
assert()
has been replaced withOUTCOME_ASSERT
, which can be user overridden
at compile time.
- In git commit 12b14e1 (Aug 11 2022) status code had its
paths changed due to its headers not previously having the right path convention. It was not
realised at the time that in Boost.Outcome this resulted in
<boost/outcome/experimental/status-code/status-code/headers.hpp>
which is not desirable.
This has now been remedied to remove the doublestatus-code
, which will obviously break
any Boost.Outcome code which relies on the doublestatus-code
. Standalone Outcome is unaffected.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed 7289e160ee4a27fea50275e7b80cdf8e754110a3
Add missing `BOOST_OUTCOME_ASSERT` macro, clearly I was not thinking
straight on Saturday in those previous commits.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed 4e228c42890148ea8f6f5a08ba7c6e4e9fc15468
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
All tests passed 0f6df25eb0f1f383ef3061bdf72007fd5014f759
Try using `BOOST_ASSERT` instead of `assert` in Boost.Outcome, see
what happens.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:
v2.2.8 Boost 1.84 release
v2.2.8 13th December 2023 (Boost 1.84) [release]
Enhancements:
- cmake 3.9 is now the minimum required for standalone Outcome. This fixes a long standing
cmake issue with probing for standard library facilities. cmake 3.9 is what RHEL7 ships with,
when RHEL7 EOLs we may raise the minimum cmake version at that point.
Bug fixes:
- There was a bug in the Outcome C++ coroutine awaitables whereby we were over eagerly resuming
execution of coroutines which return one of our awaitables. It is surprising how many years have
passed before this was noticed, but it is now fixed. It is believed that this has been fixed
without affecting ABI stability, however mixing old Outcome and new Outcome in the same binary
without recompiling all the C++ coroutine code to use new Outcome will not fix the bug.
- A Result or Outcome with
void
value type and move-only non-value type was only usable in
const use cases, due to the lack of provision of non-const member functions in relevant observers
injection layers for thevoid
specialisation. The missing non-const member functions have now
been added.
Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies: