]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.5] bpo-15718: Document the upper bound constrain on the __len__ return value....
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 23 Apr 2017 05:50:20 +0000 (08:50 +0300)
committerGitHub <noreply@github.com>
Sun, 23 Apr 2017 05:50:20 +0000 (08:50 +0300)
(cherry picked from commit 85157cd)

Doc/reference/datamodel.rst

index cd28c147b279922423804a66f1618bb8a8b594e9..0d108d727e7a193dc73cef86bdd9de6ad00ee273 100644 (file)
@@ -1887,6 +1887,14 @@ through the container; for mappings, :meth:`__iter__` should be the same as
    :meth:`__bool__` method and whose :meth:`__len__` method returns zero is
    considered to be false in a Boolean context.
 
+   .. impl-detail::
+
+      In CPython, the length is required to be at most :attr:`sys.maxsize`.
+      If the length is larger than :attr:`!sys.maxsize` some features (such as
+      :func:`len`) may raise :exc:`OverflowError`.  To prevent raising
+      :exc:`!OverflowError` by truth value testing, an object must define a
+      :meth:`__bool__` method.
+
 
 .. method:: object.__length_hint__(self)
 
@@ -1897,6 +1905,7 @@ through the container; for mappings, :meth:`__iter__` should be the same as
 
    .. versionadded:: 3.4
 
+
 .. note::
 
    Slicing is done exclusively with the following three methods.  A call like ::