Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BPO-12159: document `sys.maxsize` limit in function reference for `len()` #17934

Open
wants to merge 1 commit into
base: master
from

Conversation

@Zac-HD
Copy link
Contributor

Zac-HD commented Jan 10, 2020

See:

  • BPO-12159: "needs to be documented",
  • BPO-15718: added note to datamodel docs for __len__ method but not len(), and
  • BPO-21444: change request / wontfix
@cool-RR

This comment has been minimized.

Copy link
Contributor

cool-RR commented Jan 10, 2020

I think that this is a good addition to the documentation, but the example with range is weird. Maybe you mean that big ranges, such as range(10 ** 100) will be too big. That isn't clear from your text.

@@ -892,6 +892,9 @@ are always available. They are listed here in alphabetical order.
sequence (such as a string, bytes, tuple, list, or range) or a collection
(such as a dictionary, set, or frozen set).

**CPython implementation detail:** ``len`` raises :class:`OverflowError`
on inputs larger than :data:`sys.maxsize`, such as :class:`range`.

This comment has been minimized.

Copy link
@vstinner

vstinner Jan 10, 2020

Member
Suggested change
on inputs larger than :data:`sys.maxsize`, such as :class:`range`.
on lengths larger than :data:`sys.maxsize`.

I don't understand the "such as range()" part. len(range(5)) returns 5, it doesn't fail with overflow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.