https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118035
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- We can call it a regression, since this C++98 version used to work correctly and now doesn't: #include <deque> #include <iostream> #include <vector> using namespace std; int main() { deque<string> my_deque; my_deque.push_back("one"); my_deque.push_back("two"); my_deque.push_back("three"); vector<string> v; my_deque.insert(my_deque.begin() + 1, v.begin(), v.end()); for (deque<string>::iterator i = my_deque.begin(), end = my_deque.end(); i != end; ++i) cout << *i << endl; }