Message93091
Just to be on the safe side, I changed the PyLong_Check(ob) check to PyLong_CheckExact(ob) || PyBool_Check(ob), in r75051. Without this, one
can get different results for 'x in range(10)' and 'x in list(range(10))'
if x is an instance of a subclass of int:
Python 3.2a0 (py3k:75050, Sep 24 2009, 20:56:13)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> class C(int):
... def __eq__(self, other): return True
...
>>> C(11) in range(10)
False
>>> C(11) in list(range(10))
True |
|
Date |
User |
Action |
Args |
2009-09-24 20:05:45 | mark.dickinson | set | recipients:
+ mark.dickinson, rhettinger, belopolsky, pitrou, stargaming, benjamin.peterson, lehmannro, hpesoj |
2009-09-24 20:05:45 | mark.dickinson | set | messageid: <1253822745.84.0.43198987628.issue1766304@psf.upfronthosting.co.za> |
2009-09-24 20:05:44 | mark.dickinson | link | issue1766304 messages |
2009-09-24 20:05:44 | mark.dickinson | create | |
|