Dear list,
The Outcome review begins later today, but so much feedback has landed
this past week already that I had better announce what has changed in
develop branch to prevent people reraising already fixed things:
## 20170519 boost_peer_review4:
- Issue #13 The opcode counting CI tests in test/constexprs was severely
broken on POSIX. Thanks to Tom Westerhout for finding the problem and
supplying its fix.
- unittests.cpp had become clang-tidy unclean, fixed.
- Issue #15 Move `outcome::expected` into
`outcome::experimental::expected`. Thanks to Vicente J. Botet
Escriba for persuading me to do this.
- Issue #14 Removed all the static asserts in the Expected
implementation apart from the nothrow move constructor check, which is
now correct unlike the incorrect assert from before. Thanks to Vicente
J. Botet Escriba for explaining Expected's semantics.
- Issue #21 Correct misspelling of `extended_error_code` with
`error_code_extended` in the docs. Thanks to Deniz Bahadir for reporting
this.
- Issue #17 Give credit to Paul Bristow for the name "Outcome". Thanks
to Peter Dimov for finding the correct person.
- Issue #18 `result<T>` had a `.set_exception()` which it should not
have had. Thanks to Peter Dimov for reporting this.
- Issue #19 Remove observers `.is_ready()`, `.get_error_or()`,
`.get_exception_or()`. Thanks to Peter Dimov and Andrzej Krzemienski for
suggesting this.
- Issue #20 Rename:
- `monad_error` to `bad_outcome`
- `monad_errc` to `bad_outcome_errc`
- `monad_category` to `bad_outcome_category`
- `BOOST_OUTCOME_THROW_MONAD_ERROR` to `BOOST_OUTCOME_THROW_BAD_OUTCOME`
Thanks to Peter Dimov, Andrzej Krzemienski and Paul Bristow for
suggesting this.
If anyone prefers to see these changes in a tarball, you can get a
tarball at
https://github.com/ned14/boost.outcome/releases/tag/boost_peer_review4
or the boost_peer_review4 tag in git. Note that this tarball was
generated straight off develop branch from my laptop and MAY NOT WORK well.
I didn't get a chance to implement these outstanding issues before the
review began:
- https://github.com/ned14/boost.outcome/issues/11 Expected should never
have a valueless state
- https://github.com/ned14/boost.outcome/issues/12 Copy assignment gets
instantiated even when type T cannot be copied
- https://github.com/ned14/boost.outcome/issues/16 Default constructor
of T is sometimes compiled when T has no default constructor
Thanks in advance for your feedback and reviews. As I hope the above
shows, it makes a big difference.
Niall
--
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/