
28 Oct
2013
28 Oct
'13
2:08 a.m.
On 28 October 2013 01:54, Jonathan Wakely wrote:
On 28 October 2013 01:45, Jonathan Wakely wrote:
My guess would be that boost::thread's move constructor is not noexcept, so the libc++ std::vector refuses to use a move when inserting, and falls back to a copy instead, which fails. That is the correct, standard behaviour for std::vector.
Actually, the correct behaviour would be to fall back to the possibly-throwing move if the type is non-copyable, so maybe there's a problem with the libc++ std::vector, although I'd find that almost as surprising as a bug in clang's deleted function support. The boost::thread move ctor should still be noexcept anyway, and that should solve the problem.