$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] [exception]throw_exceptions concerns
From: Gennadiy Rozental (rogeeff_at_[hidden])
Date: 2009-01-02 08:19:56
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