Boost logo

Boost :

Subject: Re: [boost] [move] problem with msvc and BOOST_MOVABLE_BUT_NOT_COPYABLE
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2010-05-30 10:25:16


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





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk