[Python-Dev] cpython: Use a known unique object for the dummy entry.

Antoine Pitrou solipsis at pitrou.net
Sun Aug 18 13:53:42 CEST 2013


On Sun, 18 Aug 2013 09:03:56 +0200
Armin Rigo <arigo at tunes.org> wrote:
> Hi,
> 
> On Sat, Aug 17, 2013 at 8:42 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> >> summary:
> >>   Use a known unique object for the dummy entry.
> 
> Another issue with this change: the dummy object should be of a dummy
> subclass of 'object', rather than of 'object' itself.  When it is
> 'object' itself, a custom __eq__() method will be called, sending what
> should be the dummy object to the pure Python code explicitly, as in
> the example below.  This is bad because ---in addition to calling
> __eq__() with unexpected arguments, which might break some code--- we
> could then take the dummy object, and try to insert it into another
> set...

Indeed. Also, any non-trivial __eq__ will start receiving unexpected
objects and may break in mysterious ways...

Regards

Antoine.


More information about the Python-Dev mailing list