reveal_type should indicate untyped defs with types
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Feature
It's possible to make a def that's simultaneously typed and untyped eg: https://mypy-play.net/?mypy=latest&python=3.9&flags=disallow-untyped-calls&gist=7946ef5bbce794503defa44284147e56
Here Lock is "untyped" but appears to be a main.py:17: note: Revealed type is 'def () -> main.Lock'
Pitch
reveal_type should let me know that this object has an untyped constructor:
main.py:17: note: Revealed type is 'Untyped[def () -> main.Lock']
See also https://github.com/python/mypy/issues/5943#issuecomment-516075196
this tripped up the anyio project in the definition of anyio.Lock https://github.com/agronholm/anyio/pull/289
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 mit dem verknüpften mypy-play-Beispiel und dem im Issue beschriebenen bestehenden Verhalten von reveal_type. Ermittle, wie reveal_type Definitionen darstellen sollte, die sowohl typisiert als auch nicht typisiert sind, und überprüfe anschließend, dass die Ausgabe den nicht typisierten Konstruktor unterscheidet und dabei den aufgedeckten Funktionstyp beibehält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100