@@ -67,6 +67,8 @@ typedef struct {
67
67
uint64_t _abc_negative_cache_version ;
68
68
} _abc_data ;
69
69
70
+ #define _abc_data_CAST (op ) ((_abc_data *)(op))
71
+
70
72
static inline uint64_t
71
73
get_cache_version (_abc_data * impl )
72
74
{
@@ -88,8 +90,9 @@ set_cache_version(_abc_data *impl, uint64_t version)
88
90
}
89
91
90
92
static int
91
- abc_data_traverse (_abc_data * self , visitproc visit , void * arg )
93
+ abc_data_traverse (PyObject * op , visitproc visit , void * arg )
92
94
{
95
+ _abc_data * self = _abc_data_CAST (op );
93
96
Py_VISIT (Py_TYPE (self ));
94
97
Py_VISIT (self -> _abc_registry );
95
98
Py_VISIT (self -> _abc_cache );
@@ -98,16 +101,17 @@ abc_data_traverse(_abc_data *self, visitproc visit, void *arg)
98
101
}
99
102
100
103
static int
101
- abc_data_clear (_abc_data * self )
104
+ abc_data_clear (PyObject * op )
102
105
{
106
+ _abc_data * self = _abc_data_CAST (op );
103
107
Py_CLEAR (self -> _abc_registry );
104
108
Py_CLEAR (self -> _abc_cache );
105
109
Py_CLEAR (self -> _abc_negative_cache );
106
110
return 0 ;
107
111
}
108
112
109
113
static void
110
- abc_data_dealloc (_abc_data * self )
114
+ abc_data_dealloc (PyObject * self )
111
115
{
112
116
PyObject_GC_UnTrack (self );
113
117
PyTypeObject * tp = Py_TYPE (self );
@@ -212,7 +216,7 @@ _destroy(PyObject *setweakref, PyObject *objweakref)
212
216
}
213
217
214
218
static PyMethodDef _destroy_def = {
215
- "_destroy" , ( PyCFunction ) _destroy , METH_O
219
+ "_destroy" , _destroy , METH_O
216
220
};
217
221
218
222
static int
@@ -964,7 +968,7 @@ _abcmodule_clear(PyObject *module)
964
968
static void
965
969
_abcmodule_free (void * module )
966
970
{
967
- _abcmodule_clear ((PyObject * )module );
971
+ ( void ) _abcmodule_clear ((PyObject * )module );
968
972
}
969
973
970
974
static PyModuleDef_Slot _abcmodule_slots [] = {
0 commit comments