|
Boost : |
Subject: Re: [boost] Reforming Boost.System and <system_error> round 2
From: James E. King, III (jking_at_[hidden])
Date: 2018-01-16 17:55:32
On Tue, Jan 16, 2018 at 12:44 PM, Robert Ramey via Boost <
boost_at_[hidden]> wrote:
> On 1/16/18 8:56 AM, Nevin Liber via Boost wrote:
>
>> On Tue, Jan 16, 2018 at 9:47 AM, Andrzej Krzemienski via Boost <
>> boost_at_[hidden]> wrote:
>>
>> This attempts to make everyone happy.
>>>
>>
>>
>> Then the attempt to *annotate the conditional conversion to bool
>> deprecated*
>> fails.
>>
>> While it makes the people who love verbosity happy, it does so at a cost
>> of
>> breaking perfectly correct, well-tested code, and I suspect a large amount
>> of code at that.
>>
>
> a) True - it would break code by invoking a compile time error
> b) which would be trivial to fix
> c) and likely in some cases smoke out some errors
>
> Heck, it even breaks Boost code. I would guess that
>
>> filesystem, asio and dll are some of the biggest users of error_code, and
>> not only do users of those libraries regularly use "if (ec)", those
>> libraries themselves internally use the same construct.
>>
>
> d) So we would find some new bugs in Boost as well. Sounds like a feature
> to me.
>
> Robert Ramey
>
>
If you decide to change system_error / error_code please make it
header-only. This is the
only part of Boost.System that requires a library, and I had to work around
that fact in
Boost.Uuid by providing my own exception type when entropy generation
errors occur,
where I would have much preferred to leverage system_error, but since Uuid
is a
header-only solution, I could not.
- Jim
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk