Yet another weirdness, but not a blocker for us:
With this object:
class o(object):
def __iter__(self):
print "iter"
return iter([1, 2, 3])
def __getitem__(self, index):
print "getitem"
return [1, 2, 3][index]
def __len__(self):
print "len"
return 3
CPython:
>>> p = o()
>>> 1 in p
iter
True
IronPython 2 source drop 43741:
>>> p = o()
>>> 1 in p
getitem
True
It looks like CPython is treating it like a sequence and IronPython 2 is
treating it like a dict.
We have worked around this by implementing __contains__
Raised as Issue 19678 on CodePlex.
PS: How can we format code blocks on CodePlex?
Glenn & Orestis
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com