[issue25958] Implicit ABCs have no means of "anti-registration"

Andrew Barnert report at bugs.python.org
Fri Jan 1 16:29:09 EST 2016


Andrew Barnert added the comment:

> Also, if I understand your problem, Container would also be susceptible in theory

You're right, but not in the details.

Being iterable (whether via __iter__ or via the old-style sequence protocol) makes you a container. But, again, false negatives for Container aren't a problem.

But blocking that by setting __contains__ = None makes you a Container but not a container, the same kind of false positive as #25864. That's exactly why I split off this bug from that one--that one only fixes __iter__ and __reversed__, but it's possible that a more general solution is needed. (Or, of course, maybe we don't need anything more general, we just need to expand it to __iter__, __reversed__, and __contains__.)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue25958>
_______________________________________


More information about the Python-bugs-list mailing list