Thanks VinÃcius for the review. I had actually been thinking, given your nitpicks on the documentation, that you didn't get the premise behind the library design at all. Looks like I got that totally wrong. Sorry for not believing in you.
I worked for more than one year under contract using the Rust programming language and Boost.Outcome is pretty much the error system we have in Rust (with some C++-ification and an experienced C++ unique programmer "intuition" to also cover exceptions... and w/o monad ops, of course).
For the purposes of proper disclosure, I should say that both VinÃcius and I worked for the same startup under contract for much of that same year in Rust, and I think it safe to say that we both took away a similar opinion on not just Rust, but many other things. Outcome's design is indeed strongly influenced by my time there. With regard to the review's feedback, I should emphasise that the monadic operations currently proposed to WG21 work with anything matching the ValueOrError Concept, which includes both Expected and Outcome. So when/if those land, one would be good to go with Outcome. That is likely 2023 though, at the earliest. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/