diff --git a/deps/ox/src/ox/std/vector.hpp b/deps/ox/src/ox/std/vector.hpp index 9e76e556..734996e4 100644 --- a/deps/ox/src/ox/std/vector.hpp +++ b/deps/ox/src/ox/std/vector.hpp @@ -531,7 +531,7 @@ void Vector::insert(std::size_t pos, const T &val) { expandCap(m_cap ? m_cap * 2 : 100); } for (auto i = m_size; i > pos; --i) { - m_items[i] = move(m_items[i - 1]); + new (&m_items[i]) T(move(m_items[i - 1])); } m_items[pos] = val; ++m_size; @@ -599,7 +599,7 @@ void Vector::expandCap(std::size_t cap) { if (oldItems) { // move over old items const auto itRange = cap > m_size ? m_size : cap; for (std::size_t i = 0; i < itRange; i++) { - m_items[i] = move(oldItems[i]); + new (&m_items[i]) T(move(oldItems[i])); } this->clearItems(bit_cast*>(oldItems)); }