diff --git a/src/entt/core/any.hpp b/src/entt/core/any.hpp index a5857f702..d5670c8a8 100644 --- a/src/entt/core/any.hpp +++ b/src/entt/core/any.hpp @@ -98,7 +98,7 @@ class basic_any { break; case operation::destroy: if constexpr(in_situ) { - elem->~Type(); + (value.mode == any_policy::embedded) ? elem->~Type() : (delete elem); } else if constexpr(std::is_array_v) { delete[] elem; } else {