Open
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