Subject: Re: [boost] [Stacktrace] review
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2016-12-15 18:33:24


On Thu, Dec 15, 2016 at 1:24 PM, Robert Ramey <ramey_at_[hidden]> wrote:

> It added a ton of included code to all my header files. I think the
> number was 5000 lines. I'm sure it did something - otherwise I wouldn't
> have noticed it.
>

False, it's 522 lines:
https://github.com/boostorg/throw_exception/blob/develop/include/boost/exception/exception.hpp
.

> There was no "coupling" to other libraries but to a single header with zero
>> dependencies, which is now included in the boost::throw_exception
>> submodule.
>>
>
> that's what coupling is.
>

Yes, boost/throw_exception.hpp is coupled with
boost/exception/exception.hpp (would you be happier if I copy the contents
of exception.hpp and paste it in throw_exception.hpp?)

No, the throw_exception module is not coupled with the exception module,
because boost/exception/exception.hpp resides in the throw_exception module
and not in the Boost Exception module:

throw_exception: https://github.com/boostorg/throw_exception.

Boost Exception: https://github.com/boostorg/exception

> Specifically, if you want to use boost::throw_exception, the
>
>> Boost Exception submodule is NOT necessary.
>>
>
> well, I was using boost::throw_exception and I was got a whole bunch of
> new stuff I didn't ask for.

Let's be specific: you got a base class for your exception types, for free,
which admittedly you didn't ask for.

> It seems that it's in there to support other users who do use boost
> exception. Which raises the question of why that is my problem. After not
> getting any traction I did post a patch which would permit support boost
> exception without having to make any changes in boost::throw_exception.

I'm extremely interested in this, I do want to implement Boost Exception
non-intrusively if possible. Can I see code?

> OK - I looked at boost/exception/exception.hpp and it only adds 500 lines
> of header code to every file which invokes boost::throw_exception. A big
> improvement over the original.
>

The original was ~400 lines.

> But my point is really that adding something like this in jamming into my
> library makes me responsible for something that I have to invest
> significant time to understand.

Your choice. Back then you overreacted, made changes to Serialization to
not call throw_exception, which broke BOOST_NO_EXCEPTIONS builds for users
of Serialization (for which you blamed me). And then, yes, to fix that mess
you had to invest time to understand how throw_exception works.

> As a practical matter, it's not really an issue any more.
>

If you don't want to talk about this issue any more, stop making false
claims.

Emil