From: Peter Dimov (pdimov_at_[hidden])
Date: 2008-05-19 13:08:36


Jurko Gospodnetić:

> Also... the renamed class name as used in the original patch seemed
> clearer since Visual C++ still has a bug with exposing this identified
> in the global namespace... and 'critical_section' seems much more likely
> to cause problems than
> critical_section__whatever_we_write_here_as_an_explanation.

The bug appears to import all boost::detail identifiers into the global
namespace, not just critical_section. It's not reasonable to change them
all. A better way to deal with the problem would be to just remove the
offending "using namespace boost::detail;" line from
boost/serialization/detail/shared_count_132.hpp. It's even guarded for
Borland. Note also the "using namespace boost;" in the same header, it
imports all boost identifiers as well, and it's definitely not reasonable to
change these to contain an "explanation" suffix.