I am aware of this. It is just unexpected that other.__eq__(self) calls self._eq(other)
As a user of that rich cmp method I would have expected it to call other._eq(self). Raising a not implemented error seems nice. :) Anyways I believe it should be better documented if you want people to use these functions. On Monday, October 23, 2017 at 10:51:29 AM UTC+2, Jeroen Demeyer wrote: > > This is an infinite loop: > > ....: if type(other)!=type(self): > ....: #other knows how to do the comparison > ....: return other.__eq__(self) > > The correct Python thing to do is to return NotImplemented in this case. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.