Message 340080 - Python tracker

Message340080

Author steve.dower
Recipients anthony shaw, serhiy.storchaka, steve.dower
Date 2019-04-12.16:27:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1555086435.28.0.0419214339433.issue36552@roundup.psfhosted.org>
In-reply-to
Content
We should at least have consistent error messages:

>>> class O:
...  def __len__(self):
...   return 2**100
...
>>> o=O()
>>> len(o)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: cannot fit 'int' into an index-sized integer

I'd argue for replacing 'int' here with the rendered value, but I think OverflowError is the right type. Mentioning "C ssize_t" is the problem.

As for the list constructor, I'd be okay with chaining a MemoryError here, provided the OverflowError sticks around. But in this context a MemoryError is "recoverable" while an OverflowError very likely indicates a programming error, so we shouldn't hide it from the user.
History
Date User Action Args
2019-04-12 16:27:15steve.dowersetrecipients: + steve.dower, serhiy.storchaka, anthony shaw
2019-04-12 16:27:15steve.dowersetmessageid: <1555086435.28.0.0419214339433.issue36552@roundup.psfhosted.org>
2019-04-12 16:27:15steve.dowerlinkissue36552 messages
2019-04-12 16:27:14steve.dowercreate