|
@@ -98,7 +98,7 @@ class basic_any {
|
|
|
break;
|
|
break;
|
|
|
case operation::destroy:
|
|
case operation::destroy:
|
|
|
if constexpr(in_situ<Type>) {
|
|
if constexpr(in_situ<Type>) {
|
|
|
- elem->~Type();
|
|
|
|
|
|
|
+ (value.mode == any_policy::embedded) ? elem->~Type() : (delete elem);
|
|
|
} else if constexpr(std::is_array_v<Type>) {
|
|
} else if constexpr(std::is_array_v<Type>) {
|
|
|
delete[] elem;
|
|
delete[] elem;
|
|
|
} else {
|
|
} else {
|