Boost logo

Boost :

Subject: Re: [boost] [thread][config] VC10RC fails compiling when using thread library (BOOST_NO_RVALUE_REFERENCES)
From: Zachary Turner (divisortheory_at_[hidden])
Date: 2010-02-19 09:30:16

On Fri, Feb 19, 2010 at 3:48 AM, Anthony Williams <anthony.ajw_at_[hidden]>wrote:

> "Hartmut Kaiser" <hartmut.kaiser_at_[hidden]> writes:
> > Sorry, but still not good:
> >
> > boost\thread\win32\thread_heap_alloc.hpp(97): error C2664:
> > 'boost::detail::thread_data<F>::thread_data(F &&)' : cannot convert
> > parameter 1 from 'void (__cdecl *)(void)' to 'void (__cdecl *&&)(void)'
> I think that's a knock-on from the core bug. I'll try disabling the
> rvalue-ref thread constructor for MSVC10. If that doesn't work then
> rvalue refs in MSVC10 are more broken than I thought.

You can fix *all* of the original errors by applying std::move() in every
case. This includes the error you reported the bug about on Microsoft

I'm using 1.42, not trunk, so there may be more changes that you applied on
trunk that I can't test std::move() with, but perhaps it's good practice to
use std::move wherever possible anyway.

Boost list run by bdawes at, gregod at, cpdaniel at, john at