This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/49668] [C++0x] std::thread does not forward its args as rvalues
- From: "redi at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 7 Jul 2011 11:02:07 +0000
- Subject: [Bug libstdc++/49668] [C++0x] std::thread does not forward its args as rvalues
- Auto-submitted: auto-generated
- References: <bug-49668-4@http.gcc.gnu.org/bugzilla/>
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