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);

Reply via email to