bpo-43916: Remove _disabled_new() function (GH-25745) · python/cpython@0cad068 (original) (raw)
`@@ -118,15 +118,6 @@ _setException(PyObject *exc)
`
118
118
`}
`
119
119
`/* LCOV_EXCL_STOP */
`
120
120
``
121
``
`-
/* {Py_tp_new, NULL} doesn't block new */
`
122
``
`-
static PyObject *
`
123
``
`-
_disabled_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
`
124
``
`-
{
`
125
``
`-
PyErr_Format(PyExc_TypeError,
`
126
``
`-
"cannot create '%.100s' instances", _PyType_Name(type));
`
127
``
`-
return NULL;
`
128
``
`-
}
`
129
``
-
130
121
`static PyObject*
`
131
122
`py_digest_name(const EVP_MD *md)
`
132
123
`{
`
`@@ -590,15 +581,14 @@ static PyType_Slot EVPtype_slots[] = {
`
590
581
` {Py_tp_doc, (char *)hashtype_doc},
`
591
582
` {Py_tp_methods, EVP_methods},
`
592
583
` {Py_tp_getset, EVP_getseters},
`
593
``
`-
{Py_tp_new, _disabled_new},
`
594
584
` {0, 0},
`
595
585
`};
`
596
586
``
597
587
`static PyType_Spec EVPtype_spec = {
`
598
588
`"_hashlib.HASH", /tp_name/
`
599
589
`sizeof(EVPobject), /tp_basicsize/
`
600
590
`0, /tp_itemsize/
`
601
``
`-
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
`
``
591
`+
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION,
`
602
592
`EVPtype_slots
`
603
593
`};
`
604
594
``
`@@ -740,15 +730,14 @@ static PyType_Slot EVPXOFtype_slots[] = {
`
740
730
` {Py_tp_doc, (char *)hashxoftype_doc},
`
741
731
` {Py_tp_methods, EVPXOF_methods},
`
742
732
` {Py_tp_getset, EVPXOF_getseters},
`
743
``
`-
{Py_tp_new, _disabled_new},
`
744
733
` {0, 0},
`
745
734
`};
`
746
735
``
747
736
`static PyType_Spec EVPXOFtype_spec = {
`
748
737
`"_hashlib.HASHXOF", /tp_name/
`
749
738
`sizeof(EVPobject), /tp_basicsize/
`
750
739
`0, /tp_itemsize/
`
751
``
`-
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
`
``
740
`+
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION,
`
752
741
`EVPXOFtype_slots
`
753
742
`};
`
754
743
``
`@@ -1734,14 +1723,13 @@ static PyType_Slot HMACtype_slots[] = {
`
1734
1723
` {Py_tp_dealloc,(destructor)_hmac_dealloc},
`
1735
1724
` {Py_tp_methods, HMAC_methods},
`
1736
1725
` {Py_tp_getset, HMAC_getset},
`
1737
``
`-
{Py_tp_new, _disabled_new},
`
1738
1726
` {0, NULL}
`
1739
1727
`};
`
1740
1728
``
1741
1729
`PyType_Spec HMACtype_spec = {
`
1742
1730
`"_hashlib.HMAC", /* name */
`
1743
1731
`sizeof(HMACobject), /* basicsize */
`
1744
``
`-
.flags = Py_TPFLAGS_DEFAULT,
`
``
1732
`+
.flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
`
1745
1733
` .slots = HMACtype_slots,
`
1746
1734
`};
`
1747
1735
``