Subject: Re: [boost] [Thread] Non-copyable boost::thread
From: Belcourt, Kenneth (kbelco_at_[hidden])
Date: 2010-05-17 11:41:12
On May 17, 2010, at 2:25 AM, Anthony Williams wrote:
> "Belcourt, Kenneth" <kbelco_at_[hidden]> writes:
>> Intel-11.1 on Darwin is a recent compiler that will not compile this
>> [ from libs/thread/test/test_thread_return_local.cpp ]
>> boost::thread make_thread_return_local(boost::thread::id* the_id)
>> boost::thread t(do_nothing,the_id);
>> return t;
>> The same error message is generated in both debug and release builds
>> on Darwin (though strangely it doesn't appear to be an error with
>> Intel 11.1 on Linux).
>> ../libs/thread/test/test_thread_return_local.cpp(16): error #373:
>> "boost::thread::thread(boost::thread &)" (declared at line 111 of
>> boost/thread/detail/thread.hpp") is inaccessible
>> return t;
>> Any ideas how to work around this failure?
> Explicitly move the return value:
> return std::move(t);
> or even
> return std::thread(std::move(t));
Yup, that's what I figured. But this compiler doesn't have std::move().
test_thread_return_local.cpp(17): error: namespace "std" has no member
Any other ideas on how to get these Darwin / Intel tests running
Anthony? Would the Boost.Move library currently under review work here?