BSK-E0123
error
super() call on abstract protocol method with no default implementation
When a class explicitly implements a Protocol and one of its methods calls super().method_name(), the parent protocol method must provide a default implementation. If the parent method is abstract (its body is only ... or pass), calling super() on it is an error because there is no concrete implementation to dispatch 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-E0123 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-E0123