On Thu, 10 Oct 2019 at 16:25, Niall Douglas via Boost
Just as a heads up to those who care, and any pretesting of these changes in advance of the Boost release is welcome.
There are two breaking changes:
1. The git submodule mechanism used by standalone Outcome ... 2. For standalone Outcome ... - Standalone outcome ...
Any changes for the Boost-version? - Support for C++ Coroutines has been added. This comes in two parts,
firstly there is now an `OUTCOME_CO_TRY()` operation suitable for performing the `TRY` operation from within a C++ Coroutine. Secondly, in the header `outcome/coroutine_support.hpp` there are implementations of `eager<OutcomeType>` and `lazy<OutcomeType>` which let you more naturally and efficiently use `basic_result` or `basic_outcome` from within C++ Coroutines -- specifically, if the result or outcome will construct from an exception pointer, exceptions thrown in the coroutine return an errored or excepted result with the thrown exception instead of throwing the exception through the coroutine machinery (which in current compilers, has a high likelihood of blowing up the program). Both `eager<T>` and `lazy<T>` can accept any `T` as well. Both have been tested and found working on VS2019 and clang 9.
I'll use exceptions instead, I think. degski -- @realdegski https://brave.com/google-gdpr-workaround/ "We value your privacy, click here!" Sod off! - degski "Anyone who believes that exponential growth can go on forever in a finite world is either a madman or an economist" - Kenneth E. Boulding "Growth for the sake of growth is the ideology of the cancer cell" - Edward P. Abbey