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.

Reply via email to