http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49668
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.7.0 --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-07-07 11:02:01 UTC --- Same problem for call_once too, basically everywhere that uses INVOKE( DECAY_COPY ( std::forward<Callable>(func)), DECAY_COPY (std::forward<Args>(args))...) I'm going to split out the tuple<decay<F>::type, decay<Args>::type...> from thread::_Impl so it can be reused in <future> and <mutex>, as a really simple one-time use version of _Bind_result that doesn't support is_placeholder or is_bind_expression and forwards everything as rvalues, implementing the INVOKE expression above