On Fri, May 29, 2020 at 6:20 AM Niall Douglas via Boost < boost@lists.boost.org> wrote:
1. Me personally, if I want to write success-orientated logic where I don't write out, inline, what happens for each failure, I just write code which uses C++ exceptions. I mean, there is a perfectly good implementation of LEAF already shipping with every C++ compiler for the last twenty years. It is called "C++ exception handling".
When used with exceptions, LEAF is "what if catch could be given many arguments which are matched statically instead of by dynamic_cast?" Exceptions would have been more useful were they designed this way, for example they would not need to be allocated dynamically.
2. I, personally speaking, think that the shops which globally disable C++ exceptions do so because they specifically wish to ban the use of C++ exceptions type code in their codebases. Ergo, they would also ban the use of LEAF, because this exact pattern and style of code is what they are banning, and globally disabling C++ exceptions is a simple way of achieving this.
I'm confused, what style and pattern are they banning? How is what they use instead semantically different?
4. The lack of built-in support for C++ Coroutines I find unfortunate.
I intend to work on that. I'm not sure I should. :)