Fix issue #211 where trunk GCC does not like how Outcome uses Concepts.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-11-30 16:49:38 +0000
fabd0e1b79Merged from develop branch as CDash reports all green
Jenkins nedprod CI
2019-11-20 00:00:16 +0000
25d7b63446Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-11-19 12:05:49 +0000
Dewhitelist various Boost.Outcome test failures which no longer occur.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-11-19 11:56:48 +0000
faa742e125Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-11-19 11:37:46 +0000
Work around latest MSVC puking on our non-<windows.h> win32 API declarations.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-11-15 16:28:58 +0000
c1b095e3fcTravis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-11-15 15:52:59 +0000
Do the best we can on VS2019 16.3 with its very buggy Concepts implementation.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-11-15 15:43:29 +0000
6f98fd98f8Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-10-22 13:42:47 +0000
Upgraded the constexpr tests to work with Outcome v2, and recent toolchains. There has been a log of regression on clang and MSVC.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-16 11:37:53 +0100
OUTCOME_TRY operation now hints to the compiler that operation will be successful : [P1886 *Error speed benchmarking*](https://wg21.link/P1886) showed that there is considerable gain in very small functions by hinting to the compiler whether the expression is expected to be successful or not. OUTCOME_TRY previously did not hint to the compiler at all, but now it does. A new suite of macros OUTCOME_TRY_FAILURE_LIKELY hint to the compiler that failure is expected. If you wish to return to the previously unhinted behaviour, define OUTCOME_TRY_LIKELY(expr) to (!!expr).
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-16 10:26:35 +0100
ae3b8de8b2Merged from develop branch as CDash reports all green
Jenkins nedprod CI
2019-10-13 00:00:14 +0100
2f1d2baf25Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-10-12 15:55:57 +0000
Move traits setting in Experimental Outcome up to before first use.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-12 16:47:27 +0100
93017d8fdcMerged from develop branch as CDash reports all green
Jenkins nedprod CI
2019-10-12 00:00:15 +0100
d47f4413f8Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-10-11 16:11:01 +0000
Fix mistake in the trait requirements in yesterday's commit.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-11 17:03:05 +0100
23a1077036Merged from develop branch as CDash reports all green
Jenkins nedprod CI
2019-10-11 00:00:16 +0100
4467326ef5Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-10-10 17:23:38 +0000
#210make_error_code() and make_exception_ptr() are now additionally considered for compatible copy and move conversions for basic_result<>. This lets you construct a basic_result<T, E> into a basic_result<T, error_code>, where E is a custom type which has implemented the ADL discovered free function error_code make_error_code(E), but is otherwise unrelated to error_code. The same availability applies for exception_ptr with make_exception_ptr() being the ADL discovered free function. basic_outcome<> has less support for this than basic_result<> in order to keep constructor count down, but it will accept via this mechanism conversions from basic_result<> and failure_type<>.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-10 18:14:56 +0100
Add basic_result predicates to detect when a compatible conversion is available via make_error_code() or make_exception_ptr().
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-10 16:28:31 +0100
Make superbuild of dependencies much faster. Fix annoying warning on Mac OS.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-07 18:17:43 +0100
4edd7061b6Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-10-07 14:46:32 +0000
Rename awaitable to eager, and task to lazy to meet most recent WG21 naming.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-04 15:58:37 +0100
#199 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 awaitable<OutcomeType> and task<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 awaitable<T> and task<T> can accept any T as well. Both have been tested and found working on VS2019 and clang 9.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-10-03 18:35:31 +0100
Fix#207 nodiscard detection logic, but not like how the PR does it.
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2019-09-30 11:38:32 +0100
f823a3ddc9Travis CI regenerates Boost.Outcome docs
Jenkins nedprod CI
2019-09-30 09:45:14 +0000