gh-138342: Use a common utility for visiting an object's type (GH-138343)

Add `_PyObject_VisitType` in place of `tp_traverse` functions that only visit the object's type.
This commit is contained in:
Peter Bierma 2025-09-01 12:20:33 -04:00 committed by GitHub
parent 0d02e4d7d3
commit 4f6ecd10c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 41 additions and 203 deletions

View file

@ -1008,17 +1008,10 @@ py_blake2_dealloc(PyObject *self)
Py_DECREF(type);
}
static int
py_blake2_traverse(PyObject *self, visitproc visit, void *arg)
{
Py_VISIT(Py_TYPE(self));
return 0;
}
static PyType_Slot blake2b_type_slots[] = {
{Py_tp_clear, py_blake2_clear},
{Py_tp_dealloc, py_blake2_dealloc},
{Py_tp_traverse, py_blake2_traverse},
{Py_tp_traverse, _PyObject_VisitType},
{Py_tp_doc, (char *)py_blake2b_new__doc__},
{Py_tp_methods, py_blake2b_methods},
{Py_tp_getset, py_blake2b_getsetters},
@ -1029,7 +1022,7 @@ static PyType_Slot blake2b_type_slots[] = {
static PyType_Slot blake2s_type_slots[] = {
{Py_tp_clear, py_blake2_clear},
{Py_tp_dealloc, py_blake2_dealloc},
{Py_tp_traverse, py_blake2_traverse},
{Py_tp_traverse, _PyObject_VisitType},
{Py_tp_doc, (char *)py_blake2s_new__doc__},
{Py_tp_methods, py_blake2b_methods},
{Py_tp_getset, py_blake2b_getsetters},