Skip to content

Commit

Permalink
gh-104276: Make _struct.unpack_iterator type use type flag instead …
Browse files Browse the repository at this point in the history
…of custom constructor (#104277)
  • Loading branch information
chgnrdv authored May 9, 2023
1 parent 85f9818 commit c21f828
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions Modules/_struct.c
Original file line number Diff line number Diff line change
Expand Up @@ -1832,19 +1832,13 @@ 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},
{Py_tp_traverse, unpackiter_traverse},
{Py_tp_iter, PyObject_SelfIter},
{Py_tp_iternext, unpackiter_iternext},
{Py_tp_methods, unpackiter_methods},
{Py_tp_new, unpackiter_new},
{0, 0},
};

Expand All @@ -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
};

Expand Down

0 comments on commit c21f828

Please sign in to comment.