mypy rejects unpacking into same variable
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
I believe the following code should be fine, however mypy rejects the case where we're unpacking into the variable which was expanded:
foo: tuple[int, ...] = ()
# Ok
bar, *quox = foo
# Incompatible types in assignment (expression has type "List[int]", variable has type "Tuple[int, ...]") [assignment]
bar, *foo = foo
There are a number of similar issues reported, the closest being https://github.com/python/mypy/issues/9706, however I believe this is distinct as it reproduces when the generic type is int (though my original code was using str). This suggests a different root cause.
Your Environment
- Mypy version used: 1.0.1
- Mypy command-line flags: none
- Mypy configuration options from
mypy.ini(and other config files): none - Python version used: 3.10
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, das gemeldete Python 3.10-Snippet mit mypy 1.0.1 auszuführen und nachzuverfolgen, wie die Entpackzuweisung geprüft wird, wenn die entpackte Variable zugleich die Quelle ist. Füge einen Regressionstest für diesen Fall hinzu und stelle sicher, dass das Entpacken derselben Variable akzeptiert wird, während inkompatible Zuweisungen weiterhin diagnostiziert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100