python/typeshed

Fix various inheritances

Open

#3.968 aberto em 6 de mai. de 2020

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)Python (1.483 forks)batch import
help wanted

Métricas do repositório

Stars
 (3.436 stars)
Métricas de merge de PR
 (Mesclagem média 12d 21h) (66 fundiu PRs em 30d)

Description

I had a patch to stubtest that added checking of base classes. Unfortunately, it was too noisy to consider merging, although some fixes did come out of it. I complicated the patch today, and most of the following look actionable. Figured I'd jot the output down here, so it doesn't get forgotten about, since I'm not sure I want to merge this newly complicated patch (branch at https://github.com/hauntsaninja/mypy/tree/stubtestbaseclass). I'll chip away at these, but if someone reading this is looking to contribute to typeshed, this is a good place to start!

~/dev/mypy stubtestbaseclass λ python3.8 -m mypy.stubtest --custom-typeshed-dir ~/dev/typeshed --check-typeshed
error: asyncio.locks._ContextManagerMixin is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 14
<TypeInfo asyncio.locks._ContextManagerMixin> inherits from asyncio.futures.Future
MRO: asyncio.locks._ContextManagerMixin, asyncio.futures.Future, typing.Awaitable, typing.Iterable, builtins.object
Runtime: at line 49 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/asyncio/locks.py
<class 'asyncio.locks._ContextManagerMixin'> inherits from builtins.object
MRO: asyncio.locks._ContextManagerMixin, builtins.object

error: asyncio.protocols.BufferedProtocol is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 14
<TypeInfo asyncio.protocols.BufferedProtocol> inherits from asyncio.protocols.Protocol
MRO: asyncio.protocols.BufferedProtocol, asyncio.protocols.Protocol, asyncio.protocols.BaseProtocol, builtins.object
Runtime: at line 109 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/asyncio/protocols.py
<class 'asyncio.protocols.BufferedProtocol'> inherits from asyncio.protocols.BaseProtocol
MRO: asyncio.protocols.BufferedProtocol, asyncio.protocols.BaseProtocol, builtins.object

error: concurrent.futures.process.BrokenProcessPool is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 8
<TypeInfo concurrent.futures.process.BrokenProcessPool> inherits from builtins.RuntimeError
MRO: concurrent.futures.process.BrokenProcessPool, builtins.RuntimeError, builtins.Exception, builtins.BaseException, builtins.object
Runtime: at line 490 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/concurrent/futures/process.py
<class 'concurrent.futures.process.BrokenProcessPool'> inherits from concurrent.futures._base.BrokenExecutor
MRO: concurrent.futures.process.BrokenProcessPool, concurrent.futures._base.BrokenExecutor, builtins.RuntimeError, builtins.Exception, builtins.BaseException, builtins.object

error: ctypes.LittleEndianStructure is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 261
<TypeInfo ctypes.LittleEndianStructure> inherits from ctypes.Structure
MRO: ctypes.LittleEndianStructure, ctypes.Structure, ctypes._StructUnionBase, ctypes._CData, builtins.object
Runtime:
<class '_ctypes.Structure'> inherits from _ctypes._CData
MRO: _ctypes.Structure, _ctypes._CData, builtins.object

error: distutils.command.build_py.build_py_2to3 is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 10
<TypeInfo distutils.command.build_py.build_py_2to3> inherits from distutils.command.build_py.build_py
MRO: distutils.command.build_py.build_py_2to3, distutils.command.build_py.build_py, distutils.cmd.Command, builtins.object
Runtime: at line 394 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/distutils/command/build_py.py
<class 'distutils.command.build_py.build_py_2to3'> inherits from distutils.command.build_py.build_py, distutils.util.Mixin2to3
MRO: distutils.command.build_py.build_py_2to3, distutils.command.build_py.build_py, distutils.cmd.Command, distutils.util.Mixin2to3, builtins.object

error: email.feedparser.BytesFeedParser is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 13
<TypeInfo email.feedparser.BytesFeedParser> inherits from builtins.object
MRO: email.feedparser.BytesFeedParser, builtins.object
Runtime: at line 532 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/email/feedparser.py
<class 'email.feedparser.BytesFeedParser'> inherits from email.feedparser.FeedParser
MRO: email.feedparser.BytesFeedParser, email.feedparser.FeedParser, builtins.object

error: email.generator.BytesGenerator is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 16
<TypeInfo email.generator.BytesGenerator> inherits from builtins.object
MRO: email.generator.BytesGenerator, builtins.object
Runtime: at line 392 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/email/generator.py
<class 'email.generator.BytesGenerator'> inherits from email.generator.Generator
MRO: email.generator.BytesGenerator, email.generator.Generator, builtins.object

error: enum.auto is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 57
<TypeInfo enum.auto> inherits from enum.IntFlag
MRO: enum.auto, enum.IntFlag, builtins.int, enum.Flag, enum.Enum, builtins.object
Runtime: at line 44 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/enum.py
<class 'enum.auto'> inherits from builtins.object
MRO: enum.auto, builtins.object

error: io.BufferedRandom is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 132
<TypeInfo io.BufferedRandom> inherits from io.BufferedReader, io.BufferedWriter
MRO: io.BufferedRandom, io.BufferedReader, io.BufferedWriter, io.BufferedIOBase, io.IOBase, builtins.object
Runtime:
<class '_io.BufferedRandom'> inherits from _io._BufferedIOBase
MRO: _io.BufferedRandom, _io._BufferedIOBase, _io._IOBase, builtins.object

error: io.IncrementalNewlineDecoder is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 215
<TypeInfo io.IncrementalNewlineDecoder> inherits from codecs.IncrementalDecoder
MRO: io.IncrementalNewlineDecoder, codecs.IncrementalDecoder, builtins.object
Runtime:
<class '_io.IncrementalNewlineDecoder'> inherits from builtins.object
MRO: _io.IncrementalNewlineDecoder, builtins.object

error: io.StringIO is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 205
<TypeInfo io.StringIO> inherits from io.TextIOWrapper
MRO: io.StringIO, io.TextIOWrapper, typing.TextIO, typing.IO, typing.Iterator, typing.Iterable, builtins.object
Runtime:
<class '_io.StringIO'> inherits from _io._TextIOBase
MRO: _io.StringIO, _io._TextIOBase, _io._IOBase, builtins.object

error: multiprocessing.queues.Queue is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 7
<TypeInfo multiprocessing.queues.Queue> inherits from queue.Queue
MRO: multiprocessing.queues.Queue, queue.Queue, builtins.object
Runtime: at line 34 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/multiprocessing/queues.py
<class 'multiprocessing.queues.Queue'> inherits from builtins.object
MRO: multiprocessing.queues.Queue, builtins.object

error: os._wrap_close is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 603
<TypeInfo os._wrap_close> inherits from io.TextIOWrapper
MRO: os._wrap_close, io.TextIOWrapper, typing.TextIO, typing.IO, typing.Iterator, typing.Iterable, builtins.object
Runtime: at line 996 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/os.py
<class 'os._wrap_close'> inherits from builtins.object
MRO: os._wrap_close, builtins.object

error: selectors.DefaultSelector is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 75
<TypeInfo selectors.DefaultSelector> inherits from selectors.BaseSelector
MRO: selectors.DefaultSelector, selectors.BaseSelector, builtins.object
Runtime: at line 506 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/selectors.py
<class 'selectors.KqueueSelector'> inherits from selectors._BaseSelectorImpl
MRO: selectors.KqueueSelector, selectors._BaseSelectorImpl, selectors.BaseSelector, builtins.object

error: socketserver.UDPServer is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 50
<TypeInfo socketserver.UDPServer> inherits from socketserver.BaseServer
MRO: socketserver.UDPServer, socketserver.BaseServer, builtins.object
Runtime: at line 516 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/socketserver.py
<class 'socketserver.UDPServer'> inherits from socketserver.TCPServer
MRO: socketserver.UDPServer, socketserver.TCPServer, socketserver.BaseServer, builtins.object

error: socketserver.UnixDatagramServer is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 61
<TypeInfo socketserver.UnixDatagramServer> inherits from socketserver.BaseServer
MRO: socketserver.UnixDatagramServer, socketserver.BaseServer, builtins.object
Runtime: at line 689 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/socketserver.py
<class 'socketserver.UnixDatagramServer'> inherits from socketserver.UDPServer
MRO: socketserver.UnixDatagramServer, socketserver.UDPServer, socketserver.TCPServer, socketserver.BaseServer, builtins.object

error: socketserver.UnixStreamServer is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 56
<TypeInfo socketserver.UnixStreamServer> inherits from socketserver.BaseServer
MRO: socketserver.UnixStreamServer, socketserver.BaseServer, builtins.object
Runtime: at line 686 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/socketserver.py
<class 'socketserver.UnixStreamServer'> inherits from socketserver.TCPServer
MRO: socketserver.UnixStreamServer, socketserver.TCPServer, socketserver.BaseServer, builtins.object

error: threading.BoundedSemaphore is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 148
<TypeInfo threading.BoundedSemaphore> inherits from builtins.object
MRO: threading.BoundedSemaphore, builtins.object
Runtime: at line 456 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/threading.py
<class 'threading.BoundedSemaphore'> inherits from threading.Semaphore
MRO: threading.BoundedSemaphore, threading.Semaphore, builtins.object

error: tracemalloc.DomainFilter is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 17
<TypeInfo tracemalloc.DomainFilter> inherits from builtins.object
MRO: tracemalloc.DomainFilter, builtins.object
Runtime: at line 375 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/tracemalloc.py
<class 'tracemalloc.DomainFilter'> inherits from tracemalloc.BaseFilter
MRO: tracemalloc.DomainFilter, tracemalloc.BaseFilter, builtins.object

error: tracemalloc.Filter is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 22
<TypeInfo tracemalloc.Filter> inherits from builtins.object
MRO: tracemalloc.Filter, builtins.object
Runtime: at line 327 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/tracemalloc.py
<class 'tracemalloc.Filter'> inherits from tracemalloc.BaseFilter
MRO: tracemalloc.Filter, tracemalloc.BaseFilter, builtins.object

error: typing.NamedTuple is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 627
<TypeInfo typing.NamedTuple> inherits from builtins.tuple
MRO: typing.NamedTuple, builtins.tuple, typing.Sequence, typing.Collection, typing.Iterable, typing.Container, typing.Reversible, builtins.object
Runtime: at line 1641 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/typing.py
<class 'typing.NamedTuple'> inherits from builtins.object
MRO: typing.NamedTuple, builtins.object

error: unittest.TextTestRunner is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 24
<TypeInfo unittest.runner.TextTestRunner> inherits from unittest.runner.TestRunner
MRO: unittest.runner.TextTestRunner, unittest.runner.TestRunner, builtins.object
Runtime: at line 120 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/unittest/runner.py
<class 'unittest.runner.TextTestRunner'> inherits from builtins.object
MRO: unittest.runner.TextTestRunner, builtins.object

error: unittest.mock.Mock is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 126
<TypeInfo unittest.mock.Mock> inherits from unittest.mock.NonCallableMock, unittest.mock.CallableMixin
MRO: unittest.mock.Mock, unittest.mock.NonCallableMock, unittest.mock.CallableMixin, unittest.mock.Base, builtins.object
Runtime: at line 1161 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/unittest/mock.py
<class 'unittest.mock.Mock'> inherits from unittest.mock.CallableMixin, unittest.mock.NonCallableMock
MRO: unittest.mock.Mock, unittest.mock.CallableMixin, unittest.mock.NonCallableMock, unittest.mock.Base, builtins.object

error: unittest.runner.TextTestRunner is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 24
<TypeInfo unittest.runner.TextTestRunner> inherits from unittest.runner.TestRunner
MRO: unittest.runner.TextTestRunner, unittest.runner.TestRunner, builtins.object
Runtime: at line 120 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/unittest/runner.py
<class 'unittest.runner.TextTestRunner'> inherits from builtins.object
MRO: unittest.runner.TextTestRunner, builtins.object

error: weakref.KeyedRef is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 66
<TypeInfo weakref.KeyedRef> inherits from _weakref.ReferenceType
MRO: weakref.KeyedRef, _weakref.ReferenceType, builtins.object
Runtime: at line 311 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/weakref.py
<class 'weakref.KeyedRef'> inherits from builtins.weakref
MRO: weakref.KeyedRef, builtins.weakref, builtins.object

error: weakref.WeakMethod is inconsistent, base classes and MRO differ. INHERITANCE
Stub: at line 29
<TypeInfo weakref.WeakMethod> inherits from _weakref.ReferenceType
MRO: weakref.WeakMethod, _weakref.ReferenceType, builtins.object
Runtime: at line 36 in file /Users/shantanu/.pyenv/versions/3.8.2/lib/python3.8/weakref.py
<class 'weakref.WeakMethod'> inherits from builtins.weakref
MRO: weakref.WeakMethod, builtins.weakref, builtins.object

Guia do colaborador