This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author hagen
Recipients hagen
Date 2008-08-29.14:59:07
SpamBayes Score 6.6484858e-09
Marked as misclassified No
Message-id <1220021948.65.0.928639960663.issue3729@psf.upfronthosting.co.za>
In-reply-to
Content
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?
History
Date User Action Args
2008-08-29 14:59:08hagensetrecipients: + hagen
2008-08-29 14:59:08hagensetmessageid: <1220021948.65.0.928639960663.issue3729@psf.upfronthosting.co.za>
2008-08-29 14:59:07hagenlinkissue3729 messages
2008-08-29 14:59:07hagencreate