singledispatch and TypeVar return type
Offen
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
It seems that singledispatch typing is not very accurate. In particular, it does not respect TypeVar used in the return type:
T = TypeVar("T")
@singledispatch
def my_fun(
val: T,
) -> List[T]:
return list(val)
my_fun(5)
my_fun("Ĝis la revido!")
Here the type of the returned value would always be revealed as List[T] instead of different types for different inputs.
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, das Beispiel mit Pythons singledispatch-Typing zu reproduzieren, und untersuche die relevanten typeshed-Definitionen. Ermittle, wie der TypeVar im Rückgabetyp behandelt wird; abgeschlossen ist die Aufgabe, wenn Aufrufe mit unterschiedlichen Argumenttypen entsprechend spezialisierte List-Rückgabetypen ergeben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 32/100