Hm, that is indeed a well-known pattern for multiple inheritance, but I would argue that the base class method should not be declared abstract, since it is clearly expected to be called.
I am surprised that mypy makes a distinction between an abstract superclass method returning None
or object
and one returning something else. I suspect this is the result of a careful compromise based on observation of a large production code base. (It’s unlikely to be needed by typeshed, otherwise I’d put that in as well.) Unfortunately it appears that the active mypy developers have chosen to ignore this forum.
PS: I seem to be behind the times. I didn’t realize there was a difference between ...
and pass
as the body of a “trivial” function/method.