python / python/mypy

Using a type alias with arguments in `case` block in a `match` statement gets the wrong error message with `parameters` instead of `arguments`

Offen
#20,495 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug topic-match-statement
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

*Memo:

  • mypy test.py
  • mypy 1.19.1
  • Python 3.14
  • Windows 11

Using a type alias with arguments in case block in a match statement gets the wrong error message with parameters instead of arguments as shown below:

class Cls:
    def __init__(self, x: int, y: int):
        self.x = x
        self.y = y

type TA = Cls

match Cls(x=10, y=20):
    case TA(x=10, y=20):
        print("OK")

error: Class pattern class must not be a type alias with type parameters

So, the error message should be with arguments instead of parameters as shown below:

error: Class pattern class must not be a type alias with type arguments

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, den Bericht mit mypy test.py unter Verwendung von mypy 1.19.1 und Python 3.14 zu reproduzieren, und lokalisiere anschließend die Diagnose für einen in einem Klassenmuster verwendeten Typalias. Aktualisiere die Formulierung von “type parameters” zu “type arguments” und überprüfe, dass das Beispiel die korrigierte Meldung ausgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

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