http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48476

--- Comment #7 from Takaya Saito <gintensubaru at gmail dot com> 2011-04-06 
15:32:00 UTC ---
(In reply to comment #6)
> Ok, thanks. Still, I believe we have other std::move which should be turned
> into forward, in std::tuple. Those in std::tuple_cat itself also seem suspect,
> I see you are touching only the helper.

Well, I think I had replaced all std::move that should be turned into forward ;
remaining std::move are moving _Inherited ( _Tuple_impl<_Idx + 1, _Tail...> ), 
tuple<Elements...> or rvalue reference to these classes, which are not lvalue
reference type, so they are not to be replaced ( of course, it is not wrong
to replace them with std::forward, since std::move(x) is equivalent to
std::forward<T>(x) if T is remove_reference<decltype((x))>::type ).

Reply via email to