From: Peter Bartlett (pete_at_[hidden])
Date: 2008-08-20 09:06:57
Quoting Robert Ramey <ramey_at_[hidden]>:
> In the course of investigating some issues with the serialization library
> I had occasion to investigate boost/throw exception.hpp .
> I understood the original purpose of this header was to provide
> support for throw for both compilers which implemented
> exceptions and those that didn't (e.g. some embedded systems
> Looking through this header - it seems that its function has
> changed completely. It now drags in a lot of machinery
> that no one who was using it before will need. It seems
> that the whole purpose of the header has been changed. I did
> review the documentation for boost exception and indeed,
> it now seems that boost/throw_exception does implement
> a different purpose.
> Besides imposing the requirement for RTTI -
I'm not sure that is the right characterization. By default Boost
works with standard C++ so if RTTI is turned off, then it is fair to
require the BOOST_NO_TYPEID define. Changes such as this which
potentially change "latent" bugs in client code/setup being turned
into visible bugs have to be acceptable when changing Boost version,
> I have no idea what else this might break.
It will break people using throw_exception but throwing things not
derived from std::exception. This was an implicit requirement anyway,
but users will have previously got away with it if they never actually
exercised their code on a no-exceptions platform.
I can't think of any other problems, though. What did you have in mind?
IMO, the major issue with this change is the lack of documentation.
seems to refer to the 1.35 version of the code. I don't know if this a
documentation bug or a documentation generation bug.