diff options
-rw-r--r-- | Python/bltinmodule.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 9bbf64b..d087e9c 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1383,6 +1383,11 @@ builtin_round(PyObject *self, PyObject *args, PyObject *kwds) kwlist, &number, &ndigits)) return NULL; + if (Py_Type(number)->tp_dict == NULL) { + if (PyType_Ready(Py_Type(number)) < 0) + return NULL; + } + if (round_str == NULL) { round_str = PyUnicode_FromString("__round__"); if (round_str == NULL) @@ -1497,6 +1502,11 @@ builtin_trunc(PyObject *self, PyObject *number) static PyObject *trunc_str = NULL; PyObject *trunc; + if (Py_Type(number)->tp_dict == NULL) { + if (PyType_Ready(Py_Type(number)) < 0) + return NULL; + } + if (trunc_str == NULL) { trunc_str = PyUnicode_FromString("__trunc__"); if (trunc_str == NULL) |