protocols_explicit_2 error

Calling super().method() on an abstract method with no default implementation

When a Protocol (or ABC) declares a method as @abstractmethod with only an ellipsis (...) or pass body, calling super().method() from a subclass is invalid because there is no concrete implementation to delegate to.

from typing import Protocol
from abc import abstractmethod

class PColor(Protocol):
    @abstractmethod
    def draw(self) -> str:
        ...

class BadColor(PColor):
    def draw(self) -> str:
        return super().draw()  # E — no default implementation

How to handle it

Every rule is on by default — strict is the default, not a cage. You can dial protocols_explicit_2 down per-file or per-path from your editor or pyproject.toml, or fix the code so it type-checks. See the Type System rules and the complete diagnostic reference.

Canonical URL: https://www.basilisk-python.dev/errors/protocols_explicit_2