We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 36597c7 commit 1728592Copy full SHA for 1728592
mypyc/codegen/emitclass.py
@@ -858,6 +858,13 @@ def generate_dealloc_for_class(
858
emitter.emit_line("static void")
859
emitter.emit_line(f"{dealloc_func_name}({cl.struct_name(emitter.names)} *self)")
860
emitter.emit_line("{")
861
+ if cl.supports_weakref:
862
+ if emitter.capi_version < (3, 12):
863
+ emitter.emit_line("if (self->weakreflist != NULL) {")
864
+ emitter.emit_line("PyObject_ClearWeakRefs((PyObject *) self);")
865
+ emitter.emit_line("}")
866
+ else:
867
868
if has_tp_finalize:
869
emitter.emit_line("if (!PyObject_GC_IsFinalized((PyObject *)self)) {")
870
emitter.emit_line("Py_TYPE(self)->tp_finalize((PyObject *)self);")
0 commit comments