bpo-39573: Add Py_SET_TYPE() function (GH-18394) · python/cpython@d2ec81a (original) (raw)
`@@ -5758,42 +5758,42 @@ PyInit__ctypes(void)
`
5758
5758
`if (PyType_Ready(&PyCData_Type) < 0)
`
5759
5759
`return NULL;
`
5760
5760
``
5761
``
`-
Py_TYPE(&Struct_Type) = &PyCStructType_Type;
`
``
5761
`+
Py_SET_TYPE(&Struct_Type, &PyCStructType_Type);
`
5762
5762
`Struct_Type.tp_base = &PyCData_Type;
`
5763
5763
`if (PyType_Ready(&Struct_Type) < 0)
`
5764
5764
`return NULL;
`
5765
5765
`Py_INCREF(&Struct_Type);
`
5766
5766
`PyModule_AddObject(m, "Structure", (PyObject *)&Struct_Type);
`
5767
5767
``
5768
``
`-
Py_TYPE(&Union_Type) = &UnionType_Type;
`
``
5768
`+
Py_SET_TYPE(&Union_Type, &UnionType_Type);
`
5769
5769
`Union_Type.tp_base = &PyCData_Type;
`
5770
5770
`if (PyType_Ready(&Union_Type) < 0)
`
5771
5771
`return NULL;
`
5772
5772
`Py_INCREF(&Union_Type);
`
5773
5773
`PyModule_AddObject(m, "Union", (PyObject *)&Union_Type);
`
5774
5774
``
5775
``
`-
Py_TYPE(&PyCPointer_Type) = &PyCPointerType_Type;
`
``
5775
`+
Py_SET_TYPE(&PyCPointer_Type, &PyCPointerType_Type);
`
5776
5776
`PyCPointer_Type.tp_base = &PyCData_Type;
`
5777
5777
`if (PyType_Ready(&PyCPointer_Type) < 0)
`
5778
5778
`return NULL;
`
5779
5779
`Py_INCREF(&PyCPointer_Type);
`
5780
5780
`PyModule_AddObject(m, "_Pointer", (PyObject *)&PyCPointer_Type);
`
5781
5781
``
5782
``
`-
Py_TYPE(&PyCArray_Type) = &PyCArrayType_Type;
`
``
5782
`+
Py_SET_TYPE(&PyCArray_Type, &PyCArrayType_Type);
`
5783
5783
`PyCArray_Type.tp_base = &PyCData_Type;
`
5784
5784
`if (PyType_Ready(&PyCArray_Type) < 0)
`
5785
5785
`return NULL;
`
5786
5786
`Py_INCREF(&PyCArray_Type);
`
5787
5787
`PyModule_AddObject(m, "Array", (PyObject *)&PyCArray_Type);
`
5788
5788
``
5789
``
`-
Py_TYPE(&Simple_Type) = &PyCSimpleType_Type;
`
``
5789
`+
Py_SET_TYPE(&Simple_Type, &PyCSimpleType_Type);
`
5790
5790
`Simple_Type.tp_base = &PyCData_Type;
`
5791
5791
`if (PyType_Ready(&Simple_Type) < 0)
`
5792
5792
`return NULL;
`
5793
5793
`Py_INCREF(&Simple_Type);
`
5794
5794
`PyModule_AddObject(m, "_SimpleCData", (PyObject *)&Simple_Type);
`
5795
5795
``
5796
``
`-
Py_TYPE(&PyCFuncPtr_Type) = &PyCFuncPtrType_Type;
`
``
5796
`+
Py_SET_TYPE(&PyCFuncPtr_Type, &PyCFuncPtrType_Type);
`
5797
5797
`PyCFuncPtr_Type.tp_base = &PyCData_Type;
`
5798
5798
`if (PyType_Ready(&PyCFuncPtr_Type) < 0)
`
5799
5799
`return NULL;
`