Back to Ruff

Non Callable Init Subclass

crates/ty_python_semantic/resources/lint_docs/non-callable-init-subclass.md

0.15.18553 B
Original Source

What it does

Checks for class definitions that will fail due to non-callable __init_subclass__ methods.

Why is this bad?

If a class defines a non-callable __init_subclass__ method/attribute, any attempt to subclass that class will raise a TypeError at runtime.

Examples

python
class Super:
    __init_subclass__ = None


class Sub(Super): ...  # error: [non-callable-init-subclass]

References