Currently mypy applies the rule that things like __iter__ = None block protocol implementation. However, it is applied only to dunder attributes, which is too ad-hoc (also there are names like send and throw in collections.abc). It is proposed in python/typing#464 that it should be applied only to methods (callable members) which would be more consistent.
Currently mypy applies the rule that things like
__iter__ = Noneblock protocol implementation. However, it is applied only to dunder attributes, which is too ad-hoc (also there are names likesendandthrowincollections.abc). It is proposed in python/typing#464 that it should be applied only to methods (callable members) which would be more consistent.