Commit Graph

401 Commits

Author SHA1 Message Date
Jenkins nedprod CI
bbd4e31869 Merging commit ned14/outcome@6d45806413:
Merged from develop branch as CDash reports all green
2019-10-22 13:42:33 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
83b8cf84cc
Add results for Ben's P1886 example. 2019-10-17 11:08:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
958ce015b8
Upgraded the constexpr tests to work with Outcome v2, and recent toolchains. There has been a log of regression on clang and MSVC. 2019-10-16 11:37:53 +01:00
Jenkins nedprod CI
b13840fb38 Merging commit ned14/outcome@23a1077036:
Merged from develop branch as CDash reports all green
2019-10-11 16:10:48 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
086ef6d04b
#210 make_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<>`.
2019-10-10 18:14:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
be732f3c4f
Rename regression tests so their number is zero prefixed. 2019-10-10 16:26:57 +01:00
Jenkins nedprod CI
ebfff75212 Merging commit ned14/outcome@7fbbd01d56:
Merged from develop branch as CDash reports all green
2019-10-10 12:43:35 +00:00
Jenkins nedprod CI
b67c4fa3c4 Merging commit ned14/outcome@f98eb4f1e6:
Merged from develop branch as CDash reports all green
2019-10-10 12:43:34 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e8e275143a
Rename awaitable to eager, and task to lazy to meet most recent WG21 naming. 2019-10-04 15:58:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4788ad6f0b
Fix travis. 2019-10-04 12:46:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
566a77473a
Add missing coroutine support files, sorry. 2019-10-04 10:00:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
89811697af
#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.
2019-10-03 18:35:31 +01:00
Jenkins nedprod CI
17b378d03c Merging commit ned14/outcome@de7a715d3b:
Merged from develop branch as CDash reports all green
2019-10-02 08:41:57 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4044ad4c02
Fix #207 nodiscard detection logic, but not like how the PR does it.
Use latest status-code, which in theory causes less binary bloat, fixing #186.
2019-09-30 11:38:32 +01:00
Jenkins nedprod CI
be17de5379 Merging commit ned14/outcome@aa81442811:
Merged from develop branch as CDash reports all green
2019-09-25 15:15:54 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
20917c3cb0
Outcome is now make install-able, and cmake find_package() can find it. Note that
you must separately install and `find_package()` Outcome's dependency, quickcpplib, else
`find_package()` of Outcome will fail.
2019-09-24 17:42:51 +01:00
Jenkins nedprod CI
4598879ed9 Merging commit ned14/outcome@5e9c7aa1d0:
Merged from develop branch as CDash reports all green
2019-08-13 14:56:36 +00:00
Jenkins nedprod CI
19784c627c Merging commit ned14/outcome@c146404642:
Merged from develop branch as CDash reports all green
2019-08-06 09:51:17 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84452a3294
Add test for issue #203 2019-08-02 10:17:00 +01:00
Jenkins nedprod CI
2a3000aa0a Merging commit ned14/outcome@ab8164df54:
Merged from develop branch as CDash reports all green
2019-06-27 08:53:23 +00:00
Jenkins nedprod CI
90f1353ff2 Merging commit ned14/outcome@b04a5f6e09:
Merged from develop branch as CDash reports all green
2019-06-25 16:10:45 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c98f5758a9
Fix issue #181 where Outcome didn't actually implement the strong swap guarantee,
despite being documented as doing so.
2019-06-25 17:01:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3115d52341
Implemented first half of fixing issue #181, where the strong guarantee for result swaps is now working correctly. 2019-06-23 16:48:29 +01:00
Jenkins nedprod CI
c912c61aba Merging commit ned14/outcome@ca5995f40f:
Merged from develop branch as CDash reports all green
2019-06-19 09:23:22 +00:00
Jenkins nedprod CI
7e40fde0c6 Merging commit ned14/outcome@5d126a4ea1:
Merged from develop branch as CDash reports all green
2019-06-18 10:20:06 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
81bb27b500
Issue #184 Refresh licence boilerplate on the top of all source files using license restamping script. 2019-06-18 10:54:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0a68655e74
Issue #184 Place licence boilerplate on the top of all source files missing one. 2019-06-18 10:52:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ca7ef79433
Fix issue #182 where trait::is_exception_ptr_available<T> was always true,
thus causing much weirdness, like not printing diagnostics and trying to feed
everything to `make_exception_ptr()`.
2019-06-17 22:15:49 +01:00
Jenkins nedprod CI
227c18d27f Merging commit ned14/outcome@8506b83420:
Merged from develop branch as CDash reports all green
2019-02-06 10:56:02 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a97e2ca18
Fix build breakage in status_outcome, and remove the unnecessary dragging in of <system_error>. 2019-02-05 21:41:47 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3d112fcca6
Make choice of is_nothrow_swappable implementation macro configurable.
Eliminate experimental/status_result and status_outcome. Rename erased_result and erased_outcome to status_result and status_outcome.

Finish reworking the C macro API section of Experimental Outcome docs.

Looks like I've broken the experimental outcome :(. Will diagnose later.
2019-02-05 17:14:18 +00:00
Jenkins nedprod CI
280d426076 Merging commit ned14/outcome@38ef9ef868:
Merged from develop branch as CDash reports all green
2019-01-31 01:17:46 +00:00
Jenkins nedprod CI
4a1623a3d1 Merging commit ned14/outcome@6254f79071:
Merged from develop branch as CDash reports all green
2019-01-30 00:34:42 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bc306f037e
Finished clang-tidy round. 2019-01-30 00:23:15 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c11e7968e0
clang-tidy pass. 2019-01-29 22:54:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e90229e265
Prevent Boost conversion for tests/experimental-core-outcome-status.cpp. 2019-01-28 12:16:38 +00:00
Jenkins nedprod CI
eed4ffd6c0 Merging commit ned14/outcome@690364d685:
Merged from develop branch as CDash reports all green
2019-01-27 13:22:53 +00:00
Jenkins nedprod CI
3ccf085533 Merging commit ned14/outcome@14f8dd3358:
Merged from develop branch as CDash reports all green
2019-01-27 13:22:52 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84431eb086
Made a start on a new documentation section on Experimental.
Freshened History and Credits pages.

Experimental default policies now also fall back onto fail_to_compile_observers.
2019-01-25 23:04:27 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c4a9c5295
Reference documented the exception types. Got started on reference documenting basic_outcome. 2019-01-25 01:51:37 +00:00
Jenkins nedprod CI
028579f7a7 Merging commit ned14/outcome@1b5dc25c24:
Merged from develop branch as CDash reports all green
2019-01-17 01:23:05 +00:00
Jenkins nedprod CI
7539d43af0 Merging commit ned14/outcome@c1a2eb76a1:
Merged from develop branch as CDash reports all green
2019-01-12 20:24:14 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8d9b4eaa2f
Remove failing test in Boost.Outcome in constexpr unit test.
Use Boost 1.69 on Travis.
2019-01-11 22:35:08 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
da9f24be05
Merge branch 'orig-master' (early part) 2019-01-10 12:17:16 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6fb5f9666c
Retried the C++ Modules based build with VS2019.9, found some MS headers are still problematic, so disabled again. 2018-11-21 09:07:03 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
145639d23e
Try suggestion for /fpermissive- bug workaround from issue #142. 2018-11-08 19:18:47 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f380b5a069
Latest SG14 status code + unit test Herb wanted. 2018-10-15 19:53:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a312371cd7
Fixups in Outcome's unit tests for latest SG14 status code. This appears to be failing on VS2017 due to a compiler bug, sigh. 2018-10-12 09:59:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aefc790a53
Issue #150 **BREAKING CHANGE** result<T, E>, boost_result<T, E> and std_result<T, E>
no longer implement hard UB on fetching a value from a valueless instance if `E` is
a UDT, they now fail to compile with a useful error message. If you wish hard UB,
use `unchecked<T, E>`, `boost_unchecked<T, E>` or `std_unchecked<T, E>` instead.
2018-09-14 18:08:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3f755a0534
Fix build brokenness 2018-06-22 21:18:48 +01:00