STINNER Victor <[email protected]> added the comment:
This issue was fixed differently in bpo-44263, by adding a test in
PyType_Ready():
// bpo-44263: tp_traverse is required if Py_TPFLAGS_HAVE_GC is set.
// Note: tp_clear is optional.
if (type->tp_flags & Py_TPFLAGS_HAVE_GC
&& type->tp_traverse == NULL)
{
PyErr_Format(PyExc_SystemError,
"type %s has the Py_TPFLAGS_HAVE_GC flag "
"but has no traverse function",
type->tp_name);
return -1;
}
commit ee7637596d8de25f54261bbeabc602d31e74f482
Author: Victor Stinner <[email protected]>
Date: Tue Jun 1 23:37:12 2021 +0200
bpo-44263: Py_TPFLAGS_HAVE_GC requires tp_traverse (GH-26463)
The PyType_Ready() function now raises an error if a type is defined
with the Py_TPFLAGS_HAVE_GC flag set but has no traverse function
(PyTypeObject.tp_traverse).
----------
nosy: +vstinner
resolution: rejected -> fixed
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue1662>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com