Sanyam Khurana <sanyam.khuran...@gmail.com> 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 <rep...@bugs.python.org>
<https://bugs.python.org/issue31506>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to