gh-104276: Make _struct.unpack_iterator type use type flag instead of custom constructor (#104277)

This commit is contained in:
chgnrdv 2023-05-09 15:41:09 +03:00 committed by GitHub
parent 85f981880a
commit c21f828760
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1832,11 +1832,6 @@ unpackiter_iternext(unpackiterobject *self)
return result;
}
PyObject *unpackiter_new(PyTypeObject *type, PyObject *args, PyObject *kwds) {
PyErr_Format(PyExc_TypeError, "Cannot create '%.200s objects", _PyType_Name(type));
return NULL;
}
static PyType_Slot unpackiter_type_slots[] = {
{Py_tp_dealloc, unpackiter_dealloc},
{Py_tp_getattro, PyObject_GenericGetAttr},
@ -1844,7 +1839,6 @@ static PyType_Slot unpackiter_type_slots[] = {
{Py_tp_iter, PyObject_SelfIter},
{Py_tp_iternext, unpackiter_iternext},
{Py_tp_methods, unpackiter_methods},
{Py_tp_new, unpackiter_new},
{0, 0},
};
@ -1853,7 +1847,7 @@ static PyType_Spec unpackiter_type_spec = {
sizeof(unpackiterobject),
0,
(Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
Py_TPFLAGS_IMMUTABLETYPE),
Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION),
unpackiter_type_slots
};