Guido van Rossum wrote:
Not calling the destructor will cause leakage in all objects allocating extra storage, such as lists, instances and probably just about any dynamically sized object there is in Python... solving the problem only half way. Plus you will definitely run into trouble as soon as external resources are involved, e.g. open files or connections to databases.
If I remember well, the only destructors not called would be __del__ methods, since the dependencies between to-be-deleted instances are unknown to the collector. Regular (C-level) destructors would of course be called.
Ok, so low-stuff will not break. But what about e.g. wrappers around these low-level (C-level) objects written in Python, e.g. database abstraction classes ?