diff --git a/loader/include/Geode/c++stl/gnustl.hpp b/loader/include/Geode/c++stl/gnustl.hpp index e4aa7011..4e2d9aa8 100644 --- a/loader/include/Geode/c++stl/gnustl.hpp +++ b/loader/include/Geode/c++stl/gnustl.hpp @@ -7,6 +7,7 @@ #include #include #include +#include namespace geode::base { uintptr_t get(); @@ -285,8 +286,7 @@ namespace gd { m_start = this->allocator().allocate(input.size()); m_finish = m_start + input.size(); m_reserveEnd = m_start + input.size(); - - std::copy(input.begin(), input.end(), m_start); + std::construct_at(m_start, input.begin(), input.end()); } } @@ -295,8 +295,7 @@ namespace gd { m_start = this->allocator().allocate(input.size()); m_finish = m_start + input.size(); m_reserveEnd = m_start + input.size(); - - std::copy(input.begin(), input.end(), m_start); + std::construct_at(m_start, input.begin(), input.end()); } } @@ -342,7 +341,7 @@ namespace gd { m_finish = m_start + input.size(); m_reserveEnd = m_start + input.size(); - std::copy(input.begin(), input.end(), m_start); + std::construct_at(m_start, input.begin(), input.end()); } }