Author serhiy.storchaka
Recipients barry, mark.dickinson, serhiy.storchaka
Date 2020-05-27.07:57:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1590566267.28.0.18988326269.issue40792@roundup.psfhosted.org>
In-reply-to
Content
Currently PyNumber_Index() can return something that's an instance of a strict subclass of int. For example PyNumber_Index(Py_True) returns Py_True. The same for operator.index():

>>> import operator
>>> operator.index(True)
True

The proposed PR makes it always return an int.

To avoid possible overhead for creating temporary integer object, added private function _PyNumber_Index() with the past behavior. It can be used for short-living integer objects which for which only its value will be used, but not its methods. For example in the implementation of PyLong_AsLong() and similar functions.

See also issue17576.
History
Date User Action Args
2020-05-27 07:57:47serhiy.storchakasetrecipients: + serhiy.storchaka, barry, mark.dickinson
2020-05-27 07:57:47serhiy.storchakasetmessageid: <1590566267.28.0.18988326269.issue40792@roundup.psfhosted.org>
2020-05-27 07:57:47serhiy.storchakalinkissue40792 messages
2020-05-27 07:57:47serhiy.storchakacreate