
Hi Again!
After doing some more tests I noticed that all three tested versions
of boost (1.34.1, 1.35.0 & trunk) compiles fine, without the leakage
problem, on Visual Studio 2008. It seems to be related to Visual
Studio 2005 some how?
// Anders
On Thu, May 29, 2008 at 8:34 AM, Anders Sundman
Hi!
The following code compiles fine with boost 1.34.1 (as it should) but fails to compile with 1.35.0 and the boost trunk (rev. 45896)
#include "boost/archive/binary_iarchive.hpp"
namespace detail { struct fu {}; }
struct bar : detail::fu {};
Visual studio 2005 generates the following error message:
1>c:\dev\sandbox\using_scope_test\using_scope_test\test.cpp(7) : error C2872: 'detail' : ambiguous symbol 1> could be 'detail' 1> or 'boost::detail'
It seems to me that the include file is some how leaking the boost namespace to it's surrounding?
Explicitly qualifying the line:
struct bar : ::detail::fu {};
works as expected. But I'm also allowed to write:
struct bar : boost::detail::fu {};
which gives the error "'fu' : is not a member of 'boost::detail'" and not the expected "'boost' : is not a class or namespace name".
Is this a known problem, and if so is there also a known patch?
Best Regards, Anders Sundman