strip_or_import no longer fixes types of the form "module.foo[str,str]"
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
Bug Report
Stubgenc's strip_or_import no longer fixes types that contain a [.
This seems to be caused by #14564
Specifically, [ is not included in the match for the regex replacement. This causes the subtype before the [ to not be replaced as it should be.
To Reproduce
Create a py extension with a function which has a return type referencing a class in the local module with [ in the type.
Expected Behavior
The fully-qualified module should be excluded.
class KeysView[str]:
...
class MyMap:
def keys(self) -> KeysView[str]: ...
Actual Behavior
The fully-qualified name is left behind and not replaced.
class KeysView[str]:
...
class MyMap:
def keys(self) -> full.module.name.KeysView[str]: ...
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
Individua l'implementazione di strip_or_import di stubgenc ed esamina la sostituzione tramite regex che gestisce i nomi qualificati. Riproduci il problema con un tipo restituito come KeysView[str]; il lavoro è completato quando il prefisso del modulo locale viene rimosso dal sottotipo preservando il tipo tra parentesi quadre.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 42/100