strip_or_import no longer fixes types of the form "module.foo[str,str]"
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
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]: ...
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
Lokalisieren Sie stubgenc's strip_or_import-Implementierung und untersuchen Sie die Regex-Ersetzung, die qualifizierte Namen verarbeitet. Reproduzieren Sie das Problem mit einem Rückgabetyp wie KeysView[str]; als erledigt gilt es, wenn das lokale Modulpräfix aus dem Subtyp entfernt wird und der in eckigen Klammern angegebene Typ erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 42/100