
Robert Ramey wrote:
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 environment).
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 have no idea what else this might break. Should all users of throw_exception be advised to recode? Could we not restore the orginal boost/throw_exception and make a differently named file like boost/exception/???.hpp. This would provide all the benefits of the new library to those who want and require them without requiring changes all over the rest of boost.
As I understand it, the change of boost/throw_exception.hpp was proposed and discussed and finally - by apparent majority (as in, most people who spoke up were for it) - accepted before it was implemented. Also, I believe there was talk that there would be a simple preprocessor macro to revert to the old behaviour. Sebastian