Using a type alias with arguments in `case` block in a `match` statement gets the wrong error message with `parameters` instead of `arguments`
Dieses Issue hat noch niemand übernommen.
- 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
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 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