Skip to content

Releases: ned14/outcome

All tests passed 68bf2d671cc4a18e5aaf97be4424c0645a6ef3d1

Ported the tutorial to Outcome v2.2.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed f9e7477dec473dcacec09d7af7b321f25b6aeab6

Initial round of upgrading tutorial and documentation for Outcome v2.2.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed e0efc833d09928c8be137724037fb8ada587fdf7

Fix failure to set BOOSTORG_OUTCOME_DEPLOY_KEY in github actions.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed a5c877cf287e880c527f070f776c0baf32e2a1f5

More Outcome 2.2 docs fixes.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 1993bb29af1ebe80e0413ecb51f3e712dfd93620

14 Dec 11:59
1993bb2
Compare
Choose a tag to compare
Merge pull request #242 from ecatmur/patch-1

Use __cpp_concepts feature test macro

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

v2.1.5 Boost 1.75 release

11 Jan 08:46
Compare
Choose a tag to compare

v2.1.5 11th December 2020 (Boost 1.75) [release]

THIS IS THE FINAL RELEASE OF OUTCOME V2.1, FROM NOW ON IT IS OUTCOME V2.2

Enhancements:

  • The ADL discovered event hooks have been replaced with policy-specified event hooks instead
    : This is due to brittleness (where hooks would quietly
    self-disable if somebody changed something), compiler bugs (a difference in compiler settings causes
    the wrong hooks, or some but not all hooks, to get discovered), and end user difficulty in using
    them at all. The policy-specified event hooks can be told to default to ADL discovered hooks for
    backwards compatibility: set OUTCOME_ENABLE_LEGACY_SUPPORT_FOR to less than 220 to
    enable emulation.

  • Improve configuring OUTCOME_GCC6_CONCEPT_BOOL
    : Older GCCs had boolean based concepts syntax, whereas newer GCCs are standards conforming.
    However the precise logic of when to use legacy and conforming syntax was not well understood,
    which caused Outcome to fail to compile depending on what options you pass to GCC. The new logic
    always uses the legacy syntax if on GCC 8 or older, otherwise we use conforming syntax if and
    only if GCC is in C++ 20 mode or later. This hopefully will resolve the corner case build
    failures on GCC.

Bug fixes:

  • Boost.Outcome should now compile with BOOST_NO_EXCEPTIONS defined
    : Thanks to Emil, maintainer of Boost.Exception, making a change for me, Boost.Outcome
    should now compile with C++ exceptions globally disabled. You won't be able to use
    boost::exception_ptr as it can't be included if C++ exceptions are globally disabled.

  • #236
    : In the Coroutine support the final_suspend() was not noexcept, despite being required
    to be so in the C++ 20 standard. This has been fixed, but only if your compiler implements
    noop_coroutine. Additionally, if noop_coroutine is available, we use the much more
    efficient coroutine handle returning variant of await_suspend() which should significantly
    improve codegen and context switching performance.

All tests passed b970251b899adc46c8d794f5218502bdcf514b32

Ported boostorg/outcome conversion script to github actions.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed e64a5539c7b0416184cf9c7f82aeacc988b01229

try again travis

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed d184b3574262158b9cccf12967b5b0d50eb67dcb

Have travis always run the boostorg conversion.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed c7ee2ae93e3afe25aceb9ab91a4d48291aef3d3c

Fix up travis script

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies: