On Sat, May 30, 2020 at 7:36 AM Rainer Deyke via Boost-users < boost-users@lists.boost.org> wrote:
I realize that I am holding LEAF to a very high standard here. This is because the problem that LEAF is trying to solve is so ubiquitous, and the consequences of using LEAF are so far-reaching. It makes no sense for a unified program to use LEAF in some subsystems but not in others.
Thank you for the non-review. :) Actually, LEAF is well suited to be deployed only when needed. It provides a type-safe channel that can be used at any point in your program to communicate with error handlers. This channel is available even in tricky use cases, for example when error objects need to be communicated out of a C callback or through another uncooperative interface that is beyond your control. This fits C++ well, because we tend to use a lot of generic intermediate functions which, hand-waving from other error-handling library authors notwithstanding, will use all kinds of different types to report errors.