https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108236

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
--- a/libstdc++-v3/include/pstl/numeric_impl.h
+++ b/libstdc++-v3/include/pstl/numeric_impl.h
@@ -160,9 +160,10 @@ __brick_transform_scan(_ForwardIterator __first,
_ForwardIterator __last, _Outpu
 {
     for (; __first != __last; ++__first, ++__result)
     {
-        *__result = __init;
+       auto __v = __init;
         _PSTL_PRAGMA_FORCEINLINE
         __init = __binary_op(__init, __unary_op(*__first));
+       *__result = std::move(__v);
     }
     return std::make_pair(__result, __init);
 }

Reply via email to