fail typechecking if a parameterized type doesn't declare `__class_getitem__`
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
feature
a parameterized (generic) class/type should fail to typecheck if it doesn't have the __class_getitem__ method
pitch
the syntax for parameterized types is SomeClass[int]. however, if SomeClass doesn't define the __class_getitem__ method, this will typecheck but not actually run properly. we ran into this unexpectedly over at typeddjango/django-stubs/issues/507
it would be extremely helpful to at least have a command line option to warn/error on this, just so that nobody runs into it unexpectedly
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 individuando il percorso di controllo dei tipi per le classi parametrizzate e la gestione esistente di class_getitem, quindi esamina i test nelle vicinanze e i modelli delle opzioni della riga di comando. Il lavoro è completo quando i tipi parametrizzati senza class_getitem producono l’avviso o l’errore concordato, con una copertura per il comportamento e la relativa opzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- devtools
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 30/100