
Hi, I am trying to look closely on to the warnings emitted during Boost.Test compilation and I've noticed couple that makes me a bit concerned (these are from msvc-7.1 toolset): ..\..\..\boost\throw_exception.hpp(58) : warning C4673: throwing 'boost::exception_detail::clone_impl<T>' the following types will not be considered at the catch site with [ T=boost::exception_detail::enable_error_info_return_type<boost::bad_weak_ptr>::type ] ..\..\..\boost\detail\shared_count.hpp(407) : see reference to function template instantiation 'void boost::throw_exception<boost::bad_weak_ptr>(const E &)' being compiled with [ E=boost::bad_weak_ptr ] ..\..\..\boost\throw_exception.hpp(58) : warning C4671: 'exception' : the copy constructor is inaccessible Here is the list of my concerns: 1. What does the first one means and should we worry? 2. Does the second means that std::exception is not copy constructible? If yes can we disable it inside the header? 3. These warnings seems to be originated from the lines related to the Boost.Exception. in this regard I've got following concerns: a) Was it agreed that practically all Boost users are now exposed to the Boost.Exceptions library by default whether they are willing or not b) throw_exception documentation is now incorrect and misleading, since it does not mention this 4. If let's say I would like to disable Boost.Exceptions exposure during Boost.Test compilation, will it lead to the ODR violations? Thanks, Gennadiy