Se detectó una pérdida de memoria en Swig / Python

Tengo una clase muy complicada para la cual estoy tratando de hacer envoltorios de Python en SWIG. Sin embargo, cuando creo una instancia del elemento en Python, no puedo inicializar ciertos miembros de datos sin recibir el mensaje:

>>> myVar = myModule.myDataType() swig/python detected a memory leak of type 'MyDataType *', no destructor found. 

¿Alguien sabe lo que tengo que hacer para abordar esto? ¿Hay una bandera que podría estar usando para generar destructores?

SWIG siempre genera envoltorios de destructor (a menos que se %nodefaultdtor directiva %nodefaultdtor ). Sin embargo, en el caso de que no sepa nada acerca de un tipo, generará un envoltorio de puntero opaco, que provocará fugas (y el mensaje anterior).

Compruebe que myDataType es un tipo conocido por SWIG. Vuelva a ejecutar SWIG con los mensajes de depuración activados y verifique si hay mensajes similares a

 Nothing is known about Foo base type - Bar. Ignored 

Recibir un mensaje como el anterior significa que SWIG no conoce su jerarquía de tipos en toda su extensión y, por lo tanto, opera con información limitada, lo que podría provocar que no genere un dtor.

El mensaje de error es bastante claro para mí, necesita definir un destructor para este tipo.