From: Raymond Hettinger Date: Sat, 26 Mar 2016 11:10:11 +0000 (-0700) Subject: Responsibility for argument checking belongs in set.__init__() rather than set.__new__(). X-Git-Tag: v3.6.0a1~319 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2c257ab0f85396664536605666af9a6f00c73a4f;p=thirdparty%2FPython%2Fcpython.git Responsibility for argument checking belongs in set.__init__() rather than set.__new__(). See dict.__new__() and list.__new__() for comparison. Neither of those examine or touch args or kwds. That work is done in the __init__() methods. --- diff --git a/Objects/setobject.c b/Objects/setobject.c index 8e22b690206e..34235f867818 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c @@ -1131,9 +1131,6 @@ PySet_Fini(void) static PyObject * set_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { - if (kwds != NULL && type == &PySet_Type && !_PyArg_NoKeywords("set()", kwds)) - return NULL; - return make_new_set(type, NULL); }