Union(Type) and TypeForm
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 68/100
Rechercherichtung
Beginne damit, das Beispiel in main.py mit mypy mit und ohne --warn-unreachable zu reproduzieren, und untersuche, wie typing.Union und types.UnionType behandelt werden, wenn der Wert mit typing_extensions.TypeForm annotiert ist. Als erledigt gilt die Aufgabe, wenn die entsprechenden isinstance-Prüfungen nicht mehr die gemeldeten Fehler wegen inkompatibler Typen oder unerreichbarer Anweisungen erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
My function should analyze types.
Both when --warn-unreachable is enabled, and when checking typing.Union, and when checking types.UnionType, an error occurs.
code:
from types import UnionType
from typing import Any, Union
from typing_extensions import TypeForm
def f(t: TypeForm[Any]) -> Any:
if isinstance(t, Union):
pass
def g(t: TypeForm[Any]) -> Any:
if isinstance(t, UnionType):
pass
errors:
main.py:8: error: Argument 2 to "isinstance" has incompatible type "<typing special form>"; expected "_ClassInfo" [arg-type]
main.py:14: error: Statement is unreachable [unreachable]
Found 2 errors in 1 file (checked 1 source file)
in runtime, the behavior of both isinstance is equivalent.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- Ø Merge
- 1 T. 3 Std.
- Gemergte PRs (30 T.)
- 59
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/mypy
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
bug topic-configuration topic-error-reporting
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
bug topic-attrs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Ähnliche Issues
-
bug confirmed issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
open-webui/open-webui#30750 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100