error in set unions
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
In the following file, mypy (version 0.950) reports (correctly) ok function as ok, but raises an error (error: Argument 1 to "union" of "set" has incompatible type "Set[str]"; expected "Set[Optional[str]]") in error function.
from typing import Set
from zoneinfo import available_timezones
x = {"UTC"}
def error() -> Set[str]:
return available_timezones() - set.union(x)
def ok() -> Set[str]:
a, b = available_timezones(), set.union(x)
return a - b
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
Reproduziere das Problem mit mypy 0.950 unter Verwendung der beiden im Bericht gezeigten Funktionen und vergleiche den direkten Ausdruck mit den Zwischenvariablen. Verfolge den Type-Checking-Pfad für die Mengenvereinigung und füge einen Regressionstest hinzu, der beide Formen abdeckt; die Änderung ist abgeschlossen, wenn die gültige Funktion error nicht mehr die Diagnose für inkompatible Argumente erzeugt.
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
- 50/100