Lint against cases where user likely intended to use constrained type variables
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
*Memo:
mypy test.py- mypy 1.18.2
- Python 3.14.0
- Windows 11
Instantiating the object of the class with the wrong syntax setting constraint types to the 2nd and 3rd arguments gets error properly as shown below:
# ↓↓↓↓↓↓↓↓↓↓ Wrong syntax
class MyCls[T: int, float, str]:
num: T
def __init__(self, x: T) -> None:
self.num = x
# Instantiation
MyCls[int](100)
# Error
error: Type application has too few types
But only defining the class with the wrong syntax doesn't get the error as shown below so the error should occur:
# ↓↓↓↓↓↓↓↓↓↓ Wrong syntax
class MyCls[T: int, float, str]:
num: T
def __init__(self, x: T) -> None:
self.num = x
# No error
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo l’esempio minimo di Python 3.14 con mypy 1.18.2 e confronta i diagnostici della sola dichiarazione con quelli dell’applicazione del tipo. Traccia il punto di ingresso dell’analisi delle variabili di tipo generiche e dei tipi vincolati, quindi aggiungi la copertura in modo che la dichiarazione autonoma segnali il diagnostico previsto senza introdurre regressioni nella sintassi valida.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100