iscoroutinefunction should use TypeIs

Offen Anfängerfreundlich
#15,529 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
64/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
tooling

Rechercherichtung

Suchen Sie den typeshed-Stub-Eintrag für inspect.iscoroutinefunction und vergleichen Sie seine Annotation mit den anderen inspect-is...-Funktionen, die TypeIs verwenden. Aktualisieren Sie die Annotation so, dass beide Zweige wie beschrieben eingegrenzt werden, und führen Sie anschließend die relevanten Typprüfungs-Tests aus, um zu bestätigen, dass Coroutine-Funktionen und der else-Zweig korrekt eingegrenzt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

stubs: improvement

One of the things I find myself writing a lot is

if iscoroutinefunction(myfunction):
    do_something_with_async(myfunction)
else:
    do_something_with_just_sync(myfunction)

however the else block doesn't narrow the type to non-awaitable. Shouldn't it? Some of the other is... functions in inspect seem to use TypeIs as well.

Vorherrschende Sprache
Python
Sterne
5.1k
Forks
2.1k
Ø Merge
1 T. 13 Std.
Gemergte PRs (30 T.)
73

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python/typeshed

Alle Issues in python/typeshed

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.