
David Abrahams wrote:
Thomas Klimpel wrote:
I think boost::noncopyable is a typedef for boost::noncopyable_::noncopyable. But you are right, it leads to lookup in the namespace boost.
IIUC if it does, that's a compiler bug.
I guess you're right. I ran bjam with the attached tests for gcc-4.3.4, msvc-9.0express and msvc-10.0, and only msvc-9.0express failed the noncopyable_adl_test. All compilers successfully passed the noncopyable_adl_test_.
shocked-shocked-to-think-that-a-compiler-might-have-an-ADL-bug-ly y'rs,
This time I even tried to read about it in the documents references by wikipedia, but I wasn't able to figure out which would be the correct behavior. I slightly rewrote my test then, so that it really tests for the nested namespace and not for the "fixing ADL (revision 2)", but the modified test (noncopyable_adl_metal_test.cpp) gave the same results. Looks like implementing correct ADL for a C++ compiler is a daunting task. Regards, Thomas