Message396689
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 <vstinner@python.org>
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). |
|
Date |
User |
Action |
Args |
2021-06-29 01:30:14 | vstinner | set | recipients:
+ vstinner, pitrou, ajaksu2, bsilverthorn, iritkatriel |
2021-06-29 01:30:14 | vstinner | set | messageid: <1624930214.84.0.469991217288.issue1662@roundup.psfhosted.org> |
2021-06-29 01:30:14 | vstinner | link | issue1662 messages |
2021-06-29 01:30:14 | vstinner | create | |
|