Definition Order Matters For `types.coroutine` Decorator
Offen
Dieses Issue hat noch niemand übernommen.
bug
false-positive
topic-async
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
This fails mypy --strict (v0.782):
from types import coroutine
from typing import Any, Iterator
async def my_async_func() -> None:
await my_coro_func()
@coroutine
def my_coro_func() -> Iterator[None]:
yield None
but this passes:
from types import coroutine
from typing import Any, Iterator
@coroutine
def my_coro_func() -> Iterator[None]:
yield None
async def my_async_func() -> None:
await my_coro_func()
MyPy playground links:
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 damit, die beiden minimalen Beispiele mit mypy --strict unter Python 3.8 auszuführen, wobei du die verlinkten erfolgreichen und fehlschlagenden mypy-Playgrounds als Referenz verwendest. Untersuche, warum das Verschieben der mit types.coroutine dekorierten Funktion das Ergebnis verändert; abgeschlossen ist die Aufgabe, wenn beide Definitionsreihenfolgen dasselbe korrekte Ergebnis der Typprüfung erhalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100