I have tried this with 2.2a1:
- I have not checked the related C code
- I have not checked the bug report list
class C(object): pass
...
c=C() c.a=3 object.__getattr__(c,'a')
3
object.__setattr__(c,'a',6)
Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: function takes exactly 2 arguments (3 given)
Is that meaningful or a problem? I'm trying to understand type/class unification to consider possible jython issues.
regards, Samuele Pedroni
This was a 2.2a1 specific problem: in that version, the object class didn't define a setattr dispatch slot, and object.__setattr__ ended up returning a *bound* method of the object *class*.
In 2.2a2 this won't be a problem -- the object now defines __setattr__.
--Guido van Rossum (home page: http://www.python.org/~guido/)