@@ -157,13 +157,26 @@ type_get_tp_mro(PyObject *self, PyObject *arg)
157157}
158158
159159
160+ // Test PyType_SUPPORTS_WEAKREFS()
161+ static PyObject *
162+ type_supports_weakrefs (PyObject * self , PyObject * arg )
163+ {
164+ NULLABLE (arg );
165+ PyTypeObject * type = (PyTypeObject * )arg ;
166+
167+ int res = PyType_SUPPORTS_WEAKREFS (type );
168+ return PyLong_FromLong (res );
169+ }
170+
171+
160172static PyMethodDef test_methods [] = {
161173 {"test_get_type_dict" , test_get_type_dict , METH_NOARGS },
162174 {"test_get_statictype_slots" , test_get_statictype_slots , METH_NOARGS },
163175 {"type_get_version" , type_get_version , METH_O , PyDoc_STR ("type->tp_version_tag" )},
164176 {"type_assign_version" , type_assign_version , METH_O , PyDoc_STR ("PyUnstable_Type_AssignVersionTag" )},
165177 {"type_get_tp_bases" , type_get_tp_bases , METH_O },
166178 {"type_get_tp_mro" , type_get_tp_mro , METH_O },
179+ {"type_supports_weakrefs" , type_supports_weakrefs , METH_O , PyDoc_STR ("PyType_SUPPORTS_WEAKREFS(type)" )},
167180 {NULL },
168181};
169182
0 commit comments