Revert "bpo-33418: Add tp_clear for function object (GH-8058)" (GH-15… · python/cpython@ccaea52 (original) (raw)
`@@ -570,31 +570,23 @@ func_new_impl(PyTypeObject *type, PyCodeObject *code, PyObject *globals,
`
570
570
`return (PyObject *)newfunc;
`
571
571
`}
`
572
572
``
573
``
`-
static int
`
574
``
`-
func_clear(PyFunctionObject *op)
`
575
``
`-
{
`
576
``
`-
Py_CLEAR(op->func_code);
`
577
``
`-
Py_CLEAR(op->func_globals);
`
578
``
`-
Py_CLEAR(op->func_module);
`
579
``
`-
Py_CLEAR(op->func_name);
`
580
``
`-
Py_CLEAR(op->func_defaults);
`
581
``
`-
Py_CLEAR(op->func_kwdefaults);
`
582
``
`-
Py_CLEAR(op->func_doc);
`
583
``
`-
Py_CLEAR(op->func_dict);
`
584
``
`-
Py_CLEAR(op->func_closure);
`
585
``
`-
Py_CLEAR(op->func_annotations);
`
586
``
`-
Py_CLEAR(op->func_qualname);
`
587
``
`-
return 0;
`
588
``
`-
}
`
589
``
-
590
573
`static void
`
591
574
`func_dealloc(PyFunctionObject *op)
`
592
575
`{
`
593
576
`_PyObject_GC_UNTRACK(op);
`
594
``
`-
if (op->func_weakreflist != NULL) {
`
``
577
`+
if (op->func_weakreflist != NULL)
`
595
578
`PyObject_ClearWeakRefs((PyObject *) op);
`
596
``
`-
}
`
597
``
`-
(void)func_clear(op);
`
``
579
`+
Py_DECREF(op->func_code);
`
``
580
`+
Py_DECREF(op->func_globals);
`
``
581
`+
Py_XDECREF(op->func_module);
`
``
582
`+
Py_DECREF(op->func_name);
`
``
583
`+
Py_XDECREF(op->func_defaults);
`
``
584
`+
Py_XDECREF(op->func_kwdefaults);
`
``
585
`+
Py_XDECREF(op->func_doc);
`
``
586
`+
Py_XDECREF(op->func_dict);
`
``
587
`+
Py_XDECREF(op->func_closure);
`
``
588
`+
Py_XDECREF(op->func_annotations);
`
``
589
`+
Py_XDECREF(op->func_qualname);
`
598
590
`PyObject_GC_Del(op);
`
599
591
`}
`
600
592
``
`@@ -669,7 +661,7 @@ PyTypeObject PyFunction_Type = {
`
669
661
`Py_TPFLAGS_METHOD_DESCRIPTOR, /* tp_flags */
`
670
662
`func_new__doc__, /* tp_doc */
`
671
663
` (traverseproc)func_traverse, /* tp_traverse */
`
672
``
`-
(inquiry)func_clear, /* tp_clear */
`
``
664
`+
0, /* tp_clear */
`
673
665
`0, /* tp_richcompare */
`
674
666
` offsetof(PyFunctionObject, func_weakreflist), /* tp_weaklistoffset */
`
675
667
`0, /* tp_iter */
`