blueloveTH 2 лет назад
Родитель
Сommit
206685a3f6
2 измененных файлов с 5 добавлено и 7 удалено
  1. 5 1
      include/pocketpy/obj.h
  2. 0 6
      src/obj.cpp

+ 5 - 1
include/pocketpy/obj.h

@@ -111,7 +111,11 @@ struct PyObject{
 
     PyObject(Type type) : gc_enabled(true), gc_marked(false), type(type), _attr(nullptr) {}
 
-    virtual ~PyObject();
+    virtual ~PyObject(){
+        if(_attr == nullptr) return;
+        _attr->~NameDict();
+        pool128_dealloc(_attr);
+    }
 
     void _enable_instance_dict() {
         _attr = new(pool128_alloc<NameDict>()) NameDict();

+ 0 - 6
src/obj.cpp

@@ -1,12 +1,6 @@
 #include "pocketpy/obj.h"
 
 namespace pkpy{
-    PyObject::~PyObject() {
-        if(_attr == nullptr) return;
-        _attr->~NameDict();
-        pool128_dealloc(_attr);
-    }
-
     bool Bytes::operator==(const Bytes& rhs) const{
         if(_size != rhs._size) return false;
         for(int i=0; i<_size; i++) if(_data[i] != rhs._data[i]) return false;