[issue35815] Able to instantiate a subclass with abstract methods from __init_subclass__ of the ABC

Andrei Kulakov report at bugs.python.org
Thu Jul 8 20:30:11 EDT 2021


Andrei Kulakov <andrei.avk at gmail.com> added the comment:

Ethan, here  is the code I tried with 3.9, and the failure:

import abc
class Base(abc.ABC):
    def __init_subclass__(cls, **kwargs):
        instance = cls()
        print(f"Created instance of {cls} easily: {instance}")
    @abc.abstractmethod
    def do_something(self):
        pass
class Derived(Base):
    pass
Derived()

Output:
python3 ~/temp/a.py                                                                                                                                                        ----VICMD----
Traceback (most recent call last):
  File "/Users/ak/temp/a.py", line 53, in <module>
    Derived()
TypeError: Can't instantiate abstract class Derived with abstract method do_something

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35815>
_______________________________________


More information about the Python-bugs-list mailing list