Add `--warn-needless-override` option to `stubtest`
@sobolevn is already working on this.
Since Aug 4, 2022.
- Dominant language
- Python
- Stars
- 20.6k
- Forks
- 3.3k
- PR merge metrics
- PR metrics pending
Description
Feature
Imagine this file with implementation:
class A:
def do_some(self) -> None:
print('A')
class B(A):
def do_some(self) -> None:
print('B')
Auto-stub creators will create a stub like:
class A:
def do_some(self) -> None: ...
class B(A):
def do_some(self) -> None: ...
Which technically is right, but not quite.
Since do_some has the same signature in both A and B (only runtime implementation is different), we don't actually need it to be duplicated. We should ideally want just:
class A:
def do_some(self) -> None: ...
class B(A): ...
Because we always want minimal correct stubs.
But, right now we only do this by hand.
Pitch
I propose adding --warn-needless-override options (with whatever name) that can warn us about needless overrides of parent methods in child classes.
I will send a PR with the initial imlementation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.