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

``