Ethan Furman added the comment:
I have the following as part of the patch for that issue:
---------------------------------------------------------
diff -r b668c409c10a Doc/reference/datamodel.rst
--- a/Doc/reference/datamodel.rst Sat Dec 28 20:37:58 2013 +0100
+++ b/Doc/reference/datamodel.rst Sun Dec 29 06:55:11 2013 -0800
@@ -2073,23 +2073,31 @@ left undefined.
builtin: float
builtin: round
Called to implement the built-in functions :func:`complex`,
:func:`int`, :func:`float` and :func:`round`. Should return a value
of the appropriate type.
.. method:: object.__index__(self)
- Called to implement :func:`operator.index`. Also called whenever Python
needs
- an integer object (such as in slicing, or in the built-in :func:`bin`,
- :func:`hex` and :func:`oct` functions). Must return an integer.
+ Called to implement :func:`operator.index`, and whenever Python needs to
+ losslessly convert the numeric object to an integer object (such as in
+ slicing, or in the built-in :func:`bin`, :func:`hex` and :func:`oct`
+ functions). Presence of this method indicates that the numeric object is
+ an integer type. Must return an integer.
+
+ .. note::
+
+ When :meth:`__index__` is defined, :meth:`__int__` should also be
defined,
+ and both shuld return the same value, in order to have a coherent integer
+ type class.
---------------------------------------------------------
If for some reason that patch doesn't make it into 3.4 I'll split the doc
change off to its own issue, unless you think it should be split off anyway?
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue20092>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com