BSK-E0118
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
BSK-E0118 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/BSK-E0118