Message72141
On Python 3.0:
>>> class C:
... def __len__(self): return "foo"
...
>>> len(C())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
SystemError: Objects/longobject.c:433: bad argument to internal function
On Python 2.6 the behaviour is different for old and new-style classes,
with old-style classes giving the more informative error message and
both accepting (and truncating) floats.
I attached a patch for Python 3.0, which refuses everything but ints and
gives an informative error message. Or does the float-truncating
behaviour of Python 2.x need to be preserved? |
|
Date |
User |
Action |
Args |
2008-08-29 14:59:08 | hagen | set | recipients:
+ hagen |
2008-08-29 14:59:08 | hagen | set | messageid: <1220021948.65.0.928639960663.issue3729@psf.upfronthosting.co.za> |
2008-08-29 14:59:07 | hagen | link | issue3729 messages |
2008-08-29 14:59:07 | hagen | create | |
|