python / python/mypy

Warn for incorrect TypeVar usage (with Generics)

Offen
#16,113 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature

Sometimes a user less familiar with more advanced typing concepts will use a TypeVar in a way that doesn't add any typing information.

As an example: def foo() -> T:

I think, basically, anytime a TypeVar appears only 1 time in a function (or class) definition, this should be treated as an error.

Pitch

Code like this seems like an obvious sign the user has misunderstood TypeVar, and a warning should probably be emitted. They either want a normal type, or they missed an annotation somewhere.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Das Issue nennt keine Dateien, Tests oder Einstiegspunkte. Beginne damit, mypys Behandlung von TypeVar und vorhandene Diagnosen für generische Funktionen und Klassen zu lokalisieren, und untersuche anschließend Tests, die die Verwendung von TypeVar abdecken. Als abgeschlossen gilt die Aufgabe, wenn für die angegebenen Fälle der einmaligen Verwendung eine Warnung oder ein Fehler ausgegeben wird, ohne gültige generische Annotationen fälschlicherweise zu markieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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