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?
If we modify the classes with mypy errors to properly implement these
methods (even with no-ops) is that the correct
way to go?
--
Craig
_______________________________________________
Twisted-Python mailing list
[email protected]
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python