Fix incorrect handling of move-only types in transform_reduce iter iter iter init, and add test.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@321851 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/numeric b/include/numeric
index 0197a28..b33b6a3 100644
--- a/include/numeric
+++ b/include/numeric
@@ -252,7 +252,7 @@
transform_reduce(_InputIterator1 __first1, _InputIterator1 __last1,
_InputIterator2 __first2, _Tp __init)
{
- return _VSTD::transform_reduce(__first1, __last1, __first2, __init,
+ return _VSTD::transform_reduce(__first1, __last1, __first2, _VSTD::move(__init),
_VSTD::plus<>(), _VSTD::multiplies<>());
}
#endif