Skip to content

Improve error message for type-abstract errors #18711

Open
@dannyjeck

Description

@dannyjeck

Feature
Add more details to the [type-abstract] error message.

Pitch

If I have the following abstract base class

class BaseClass(abc.ABC):

    @abstractmethod
    def method1(self): ...

    @abstractmethod
    def method2(self): ...

    @abstractmethod
    def method3(self): ...

And later I make a subclass of that base class

class ExampleSubClass(BaseClass):

    def method1(self): ...

    def method2(self): ...

    #but I forgot to override method3

Then I will get the following error when I try to use ExampleSubClass in application code: Only concrete class can be given where "type[ExampleSubClass]" is expected [type-abstract]

It would be great if the error message specified why ExampleSubClass is not a concrete class. An ideal error message would look something like: "Only concrete class can be given where type[ExampleSubClass] is expected. ExampleSubClass has abstract methods [method3]"

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions