It appears that tuples have similar problems to lists (tested on 0.9.5 and 1.0b1):
---------- >>> class C: ... pass ... >>> c1 = C() >>> c2 = C() >>> (c1, c2) == (c2, c1) True ---------- Cheers William Giles Thomas wrote: >Some more discoveries, following on from the below: > >--------------- > >>> class D: >... pass >... > >>> d1 = D() > >>> [c1, c2, c1] == [c1, c2, d1] >True > >>> class E: >... def __init__(self): >... pass >... > >>> e1 = E() > >>> [c1, c2, c1] == [c1, c2, e1] >True > >>> e1.foo = "bar" > >>> [c1, c2, c1] == [c1, c2, e1] >True >--------------- > >Looks like it's just assuming all objects are identical. > > >Regards, > >Giles > > >Giles Thomas wrote: > > >>Hi, >> >>We've found what looks like a bug in list comparison: >> >>--------------- >>IronPython 1.0.2190 (Beta) on .NET 2.0.50727.42 >>Copyright (c) Microsoft Corporation. All rights reserved. >> >>> class C: >>... pass >>... >> >>> c1 = C() >> >>> c2 = C() >> >>> [c1, c2] == [c2, c1] >>True >> >>> [c1] == [c2] >>True >> >>> c1 == c2 >>False >> >>> >>----------------- >> >>Confirmed in 0.9.5, 0.9.6, and 1.0.2190 >> >>There is a horrible hack to work around it: >> >>----------------- >> >>> str([c1, c2]) == str([c2, c1]) >>False >>----------------- >> >> >>Cheers, >> >>Giles >> >> >> >_______________________________________________ >users mailing list >users@lists.ironpython.com >http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > _______________________________________________ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com