diff --git a/libcxx/include/vector b/libcxx/include/vector --- a/libcxx/include/vector +++ b/libcxx/include/vector @@ -1956,8 +1956,8 @@ #endif // _LIBCPP_NO_EXCEPTIONS } __p = _VSTD::rotate(__p, __old_last, this->__end_); - insert(__make_iter(__p), make_move_iterator(__v.begin()), - make_move_iterator(__v.end())); + insert(__make_iter(__p), _VSTD::make_move_iterator(__v.begin()), + _VSTD::make_move_iterator(__v.end())); return begin() + __off; } diff --git a/libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp --- a/libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp @@ -21,6 +21,11 @@ #include "min_allocator.h" #include "asan_testing.h" +namespace adl { +struct S {}; +void make_move_iterator(S*) {} +} + int main(int, char**) { { @@ -172,5 +177,10 @@ } #endif + { + std::vector s; + s.insert(s.end(), input_iterator(), input_iterator()); + } + return 0; }