python / python/mypy

Refactor and document conditional type binder

Offen
#7,324 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

priority-0-high refactoring topic-type-narrowing
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Conditional type binder (mypy's version of abstract interpreter) is one of the trickiest part of mypy. It would be great to clean-up its implementation and document the current behaviour. As and optional additional related thing (or a follow-up step), I would propose to refactor/rethink partial types (that IMO should be handled by the binder).

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

Beginne damit, mypy's Binder für bedingte Typen zu lokalisieren und seine aktuelle Implementierung und Tests zu lesen. Dokumentiere das bestehende Verhalten und lege den Umfang der Bereinigung fest, bevor du erwägst, ob partielle Typen vom Binder behandelt werden sollten. Als abgeschlossen gilt die Aufgabe, wenn das Verhalten des Binders dokumentiert und seine Implementierung klarer ist; eine etwaige Neugestaltung der partiellen Typen soll bei Bedarf als separates Follow-up behandelt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

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