https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90389
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Similarly: #include <deque> struct X { X() { } X(std::size_t, const X&) { } }; int main() { std::deque<X> d; const X x{}; d.emplace(d.begin(), std::size_t(0), x); } This time emplace calls a different (but still wrong) _M_insert_aux overload: // called by insert(p,n,x) via fill_insert void _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);