Files
Petr e1b380f8b9 PY-12132 Support ABC classes (pep-3119)
Report error for abstract method in non-abstract class.

(cherry picked from commit 824d45a310b95ada628d6e607ae1ced6e351d849)

GitOrigin-RevId: 446cfea2ab76611d13648c17d6f7419fdefa0954
2025-04-23 23:27:31 +00:00

28 lines
546 B
Python

from abc import abstractmethod, ABCMeta
class A:
<weak_warning descr="Abstract methods are allowed in classes whose metaclass is 'ABCMeta'">@abstractmethod</weak_warning>
def foo(self): ...
class AbstractClassA(metaclass=ABCMeta):
...
class AbstractClassB(AbstractClassA):
@abstractmethod
def foo(self): ...
class AbstractClassC(AbstractClassB):
@abstractmethod
def bar(self): ...
class AbstractClassD(AbstractClassC):
def foo(self): ...
def bar(self): ...
@abstractmethod
def buz(self): ...