python / python/mypy

(🎁) Special case `NoReturn`, `Never`, `Self` and `TypeAlias` to not be subscriptable

Offen
#12,375 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

from typing import NoReturn, Never, Self and TypeAlias

NoReturn[int]
Never[int]
Self[int]
TypeAlias[int]

All of these usages are a 'no error moment'.

These methods exist at runtime, but are noops that just raise TypeErrors (:trollface:)

I would expect warnings on any of these usaages especially Self as I could imagine every single person trying to use it with type parameters(it doesn't support type parameters 😢).

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, die vier Beispiele zu reproduzieren, die NoReturn, Never, Self und TypeAlias betreffen, und untersuche den Pfad der Typprüfung für das Subskripting dieser Typen. Die Aufgabe ist erledigt, wenn jedes ungültige Subskripting eine Warnung oder einen Fehler erzeugt, insbesondere Self, mit Testabdeckung für die gemeldeten Verwendungen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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