Sanyam Khurana <[email protected]> added the comment:
Nick,
I think the error messages are incorrect. We expect error message to be `takes
no argument` rather than `takes exactly one argument`. Can you please confirm
that?
I think for the class without any method overrides, the functionality should be
something like this:
>>> class C:
... pass
...
>>> C(42)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: C() takes no arguments
>>> C.__new__(C, 42)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: C() takes no arguments
>>> C().__init__(42)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: C().__init__() takes no arguments
>>> object.__new__(C, 42)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: C() takes no arguments
>>> object.__init__(C(), 42)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: C().__init__() takes no arguments
Is that correct?
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue31506>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com