On Mon, Jan 22, 2018 at 3:54 AM, Asbjørn via Boost
I also found the implicit bool conversion was very error prone, as I managed to trip myself a few times when writing examples. So I got rid of it, and introduced an explicit op_result.success() method which does a virtual call to the category.
I would prefer writing `if(ec.success())` and `if(ec.failed())` over `if(! ec)` and `if(ec)` respectively. Which brings up an interesting idea. Perhaps we can first propose to add `error_code::success()` and `error_code::failed()` and get that in, as an immediate improvement over writing legible code. And deprecate (but do not forbid) the use of the `bool` conversion. Then after several years and more experience in the field contemplate the change allowing `error_category` to define the meaning of success, secure in the knowledge that any code which is written or modified to use `success()` and `failed()` will automatically work. Thanks