Nick Coghlan added the comment:

It doesn't act like a class method, though, it acts like a static method:

    >>> int.__new__()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: int.__new__(): not enough arguments
    >>> int.__new__(int)
    0

You have to *write* __new__ and tp_new as if they were class methods (because 
the type machinery expects you to do so), but you have to *call* them like 
static methods if you're invoking them directly for some reason.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20189>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to