Files
openide/python/testData/inspections/PyAbstractClassInspection/instantiateAbstractClass2.py
Petrandintellij-monorepo-bot 22454fca8f PY-12132 Support ABC classes (pep-3119)
A class containing at least one method declared with `abstractmethod` decorator that hasn’t been overridden yet cannot be instantiated.

Also report instantiation of classes that directly inherit ABC or have metaclass set to ABCMeta.

GitOrigin-RevId: 55cb4dc90c55ddc63991a4c3f6b50b4e34a3b4bd
2025-04-09 14:53:21 +00:00

17 lines
297 B
Python

from abc import ABCMeta, abstractmethod
class AbstractClass(metaclass=ABCMeta):
@abstractmethod
def foo(self):
...
def bar(cls: type[AbstractClass]):
return cls().foo()
AC = AbstractClass
<warning descr="Cannot instantiate abstract class 'AbstractClass'">AC()</warning>