Fix incorrect handling of move-only types in transform_reduce iter iter iter init, and add test.
llvm-svn: 321851
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 4958692ad9d0834b6ba94dbeaffc88e5159debeb
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