Hi, Ivan, Von: Ivan Pozdeev [mailto:v...@mail.mipt.ru]
> > As far as I can see, the "in" operator should return true if any > > object in the enumerable is "equal" to the object given as reference: > > Indeed, https://docs.python.org/2/reference/expressions.html#membership-test- > details states: > > For the list and tuple types, x in y is true if and only if there exists an > index i such that x == y[i] is true. > > Now, to check if IronPython honors this. > > > assert a in (a,), 'a is in (a,)' > > assert a in (b,), 'a is in (b,)' # this one fails... > > > As far as I can see via breakpoints, the Equals methods of the objects > > are never actually called, except on the first assertion with the == > > operator. > > My guess is it's cutting corners by comparing hashes instead. Hm, the GetHashCode() method in my example is hardcoded to return 0, and it is not even called (at least, the breakpoint is not hit. There must be something more subtle... Best regards Markus Schaber CODESYS(r) a trademark of 3S-Smart Software Solutions GmbH Inspiring Automation Solutions 3S-Smart Software Solutions GmbH Dipl.-Inf. Markus Schaber | Product Development Core Technology Memminger Str. 151 | 87439 Kempten | Germany Tel. +49-831-54031-979 | Fax +49-831-54031-50 E-Mail: m.scha...@codesys.com | Web: http://www.codesys.com | CODESYS store: http://store.codesys.com CODESYS forum: http://forum.codesys.com Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915 This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden. _______________________________________________ Ironpython-users mailing list Ironpython-users@python.org https://mail.python.org/mailman/listinfo/ironpython-users