[shared_ptr] Workaround for vc7.1 bug

This failure: http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/... Appears to be due to vc7.1 badly misinterpreting a using-directive in the scope of the instantiating function. I suggest full qualification of ::boost::detail in shared_ptr.hpp as a remedy. -- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams <dave@boost-consulting.com> writes:
Correction about what stimulated the bug to appear: I now believe it was the following sequence in boost/graph/detail/read_graphviz_spirit.hpp using namespace std; using namespace boost; using namespace boost::spirit; using namespace phoenix; The amount of ambiguity being courted by bringing all those namespaces into a subnamespace of boost::detail (!) would scare me away from doing it, especially in a header file. But maybe that's just me. -- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams wrote:
FWIW, I recall I posted such error to Boost.Spirit. http://comments.gmane.org/gmane.comp.parsers.spirit.general/10232 using-directive is dangerous under vc7.1/8.0. -- Regards, Shunsuke Sogame

David Abrahams wrote:
Most 'detail's in shared_ptr.hpp were already fully-qualified, but since there is no shared_ptr test covering this case, I've managed to introduce two unqualified instances. Which leads me to think that my first reaction of "does anyone have a simple test case" was correct. Unfortunately producing a simple test for this problem doesn't seem easy.
participants (3)
-
David Abrahams
-
Peter Dimov
-
Shunsuke Sogame