diff --git a/thirdparty/sol/sol.hpp b/thirdparty/sol/sol.hpp index 3ff9ad1c..eb73973b 100644 --- a/thirdparty/sol/sol.hpp +++ b/thirdparty/sol/sol.hpp @@ -5968,7 +5968,8 @@ namespace sol { static_assert(std::is_constructible::value, "T must be constructible with Args"); *this = nullopt; - this->construct(std::forward(args)...); + new (static_cast(this)) optional(std::in_place, std::forward(args)...); + return **this; } /// Swaps this optional with the other.