Boost logo

Boost :

From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2020-07-05 18:41:42


On Sun, Jul 5, 2020 at 4:35 AM Niall Douglas via Boost <
boost_at_[hidden]> wrote:
>
> On 05/07/2020 03:29, Emil Dotchevski via Boost wrote:
>
> >> Surely we test Boost with exceptions globally disabled in the
regression
> >> testing right?
> >
> > What Peter means is that boost::exception_ptr ought to support
> > BOOST_NO_EXCEPTIONS. However, it does not, it never has.
>
> I'll admit to surprise here. I always thought that one of the principle
> reasons for Boost.Exception is exactly so that Boost can work well
> enough with exceptions globally disabled.

"Well enough" generally means that libraries are supposed (not even
required) to always call boost::throw_exception to throw, which can be
user-defined to do-something-and-not-return under BOOST_NO_EXCEPTIONS.

On exception_ptr, my original thinking (more than 15 years ago) was this:
the parts of Boost Exception that could be used to call
boost::throw_exception should work under BOOST_NO_EXCEPTIONS, but since
exceptions can't be thrown, there's no reason why anyone would want to hold
a pointer to one.

Outcome is the first library to hit that restriction.

> You're the first person to ever raise a need for a
> outcome/boost_result.hpp which does not include Boost.Exception.

>From my point of view, I was compiling an example that used outcome::result
and was surprised that it didn't work under BOOST_NO_EXCEPTIONS. Even if we
change boost::exception_ptr to work under BOOST_NO_EXCEPTONS, should
outcome::result be coupled with it?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk