no warning when `dataclass` extends non-dataclass with an `__init__` method
Aperta
Nessuno ha ancora preso questa issue.
bug
priority-2-low
topic-dataclasses
topic-runtime-semantics
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Merge medio
- 1g 18h
- PR unite (30g)
- 54
Descrizione
from dataclasses import dataclass
class Foo:
def __init__(self, value: int) -> None:
self.value = value # never gets run
@dataclass
class Bar(Foo):
value2: int
Bar(1).value # runtime error but no mypy error
not sure if this is supposed to be allowed but either way this fails at runtime, so mypy should warn about it:
AttributeError: 'Bar' object has no attribute 'value'. Did you mean: 'value2'?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo il riproduttore Python minimo nell’issue e tracciando come viene analizzata l’ereditarietà di dataclass. Determina se questo caso dovrebbe produrre una diagnostica, quindi aggiungi un test di regressione che copra l’avviso mancante e verifica che la suite di test venga superata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100