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);
}