dict.update has incorrect variance for one of its overloads
Offen
Dieses Issue hat noch niemand übernommen.
stubs: false positive
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 2.1k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 82
Beschreibung
from typing import Dict, Union
d: Dict[Union[str, int], None] = {}
e: Dict[str, None] = {}
# not ok
d.update(e)
# ok
d.update(e.items())
# ok
for key, value in e.items():
d[key] = value
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit den dict.update-Überladungen in den Python-Stubs und reproduziere das bereitgestellte Beispiel mit einem statischen Typprüfer. Vergleiche den abgelehnten Aufruf d.update(e) mit den akzeptierten Formen items() und der Zuweisung; fertig, wenn die Überladung das beabsichtigte kompatible Mapping akzeptiert, ohne die anderen Formen abzuschwächen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100