Josh Rosenberg added the comment:

At some point someone really needs to decide if the C layer behavior of 
performing an identity test before full equality checking is something that 
should be emulated at the Python layer or not. The current state seems 
ridiculous, where C containers check identity first simply by using the easier 
RichCompareBool function, while Python containers have to have the 
identity-then-equality check rewritten explicitly, which feels like a DRY 
violation.

Makes it harder for non-CPython implementations too, since they end up either 
not matching CPython behavior, or writing extra code to match the CPython 
quirks.

I have nothing against this patch, but between PyObject_RichCompareBool and the 
various slightly strange behaviors in the argument parsing format codes (which 
leads to silly workarounds like _check_int_field in #20858), I feel like the 
Python code base is getting cluttered with hacks to emulate the hacky C layer.

----------
nosy: +josh.r

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26915>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to