On Sun, Jun 7, 2020 at 7:22 PM Craig Rodrigues <rodr...@crodrigues.org> wrote:
> I have merged a few PR's to trunk which eliminate hundreds of errors > encountered with: > > > *tox -e mypy* > I think we can take several passes with more PR's to whack away all these > mypy errors, > and turn on mypy as part of the default CI for Twisted. > > I have seen a few errors like: > > src/twisted/words/protocols/jabber/sasl_mechanisms.py:47:1: error: > 'Anonymous' is missing following 'ISASLMechanism' interface members: > getResponse. [misc] > class Anonymous(object): > src/twisted/words/protocols/jabber/sasl_mechanisms.py:61:1: error: 'Plain' > is missing following 'ISASLMechanism' interface members: getResponse. > [misc] > class Plain(object): > src/twisted/internet/_dumbwin32proc.py:110:1: error: 'Process' is missing > following 'twisted.internet.interfaces.ITransport' interface members: > getHost, getPeer. [misc] > class Process(_pollingfile._PollingTimer, BaseProcess): > src/twisted/internet/process.py:959:1: error: 'PTYProcess' is missing > following 'twisted.internet.interfaces.ITransport' interface members: > getHost, getPeer. [misc] > class PTYProcess(abstract.FileDescriptor, _BaseProcess): > src/twisted/internet/process.py:959:1: error: 'PTYProcess' is missing > following 'IProcessTransport' interface members: closeChildFD, > writeToChild. [misc] > class PTYProcess(abstract.FileDescriptor, _BaseProcess): > src/twisted/internet/base.py:504:1: error: 'ReactorBase' is missing > following 'IReactorCore' interface members: run. [misc] > class ReactorBase(PluggableResolverMixin) > > > For a class to properly implement a Zope interface, is it mandatory that > it implement every method in that interface? > Yes. > > If we modify the classes with mypy errors to properly implement these > methods (even with no-ops) is that the correct > way to go? > Who does this serve? I would say no, this is not correct. If a type declares it implements an interface and it cannot provide useful implementations of every method/attribute, then it made a mistake in its declaration or the interface has the wrong methods/attributes. Jean-Paul > >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python