------- Comment #6 from redi at gcc dot gnu dot org 2010-04-28 11:17 ------- In this diagnostic:
invalid initialization of reference of type 'boost::thread&&' from expression of type 'boost::thread' it might be clearer if the latter type was given as 'boost::thread&' so that it's clear it is an lvalue, otherwise it looks like it is failing to bind an rvalue-reference to a temporary, which should work. In fact it's try to bind the reference to an lvalue, which is invalid -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43915