iscoroutinefunction should use TypeIs
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 2.1k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 82
Beschreibung
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.
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
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.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 64/100