bpo-29695: Remove bad keyword parameters in int(), bool(), float(), list() and tuple(). (#518)
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 3a881c3..9267b9f 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -1563,18 +1563,13 @@
float_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
PyObject *x = Py_False; /* Integer zero */
- static char *kwlist[] = {"x", 0};
if (type != &PyFloat_Type)
return float_subtype_new(type, args, kwds); /* Wimp out */
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:float", kwlist, &x))
+ if (!_PyArg_NoKeywords("float()", kwds))
return NULL;
- if (kwds != NULL && PyDict_GET_SIZE(kwds) != 0) {
- if (PyErr_Warn(PyExc_DeprecationWarning,
- "Using 'x' as a keyword argument is deprecated; "
- "specify the value as a positional argument instead") < 0)
- return NULL;
- }
+ if (!PyArg_UnpackTuple(args, "float", 0, 1, &x))
+ return NULL;
/* If it's a string, but not a string subclass, use
PyFloat_FromString. */
if (PyUnicode_CheckExact(x))