Issue #27006: from_float(): call the subclass' __new__() and __init__().

This commit is contained in:
Stefan Krah 2016-06-20 12:10:13 +02:00
parent 2275e626b1
commit 6817c59cf0
2 changed files with 12 additions and 3 deletions

View file

@ -2630,12 +2630,18 @@ PyDecType_FromSequenceExact(PyTypeObject *type, PyObject *v,
/* class method */
static PyObject *
dec_from_float(PyObject *dec, PyObject *pyfloat)
dec_from_float(PyObject *type, PyObject *pyfloat)
{
PyObject *context;
PyObject *result;
CURRENT_CONTEXT(context);
return PyDecType_FromFloatExact((PyTypeObject *)dec, pyfloat, context);
result = PyDecType_FromFloatExact(&PyDec_Type, pyfloat, context);
if (!PyDec_CheckExact(type) && result != NULL) {
Py_SETREF(result, PyObject_CallFunctionObjArgs(type, result, NULL));
}
return result;
}
/* create_decimal_from_float */