Why is the dict extension prohibited in the TypedDict constructor?
Offen
Dieses Issue hat noch niemand übernommen.
bug
topic-typed-dict
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- Ø Merge
- 1 T. 18 Std.
- Gemergte PRs (30 T.)
- 54
Beschreibung
Bug Report
Cannot use dict expansion in TypedDict constructor. Why?
To Reproduce
from typing import TypedDict
class SomeTypedDict(TypedDict):
field1: str
field2: int
field3: bool
SOME_SAMPLE = {
'field1': 'str',
'field2': 0,
'field3': True,
}
some_variable = SomeTypedDict(**SOME_SAMPLE)
print(some_variable)
Actual Behavior
user@pc:~/$ mypy main.py
main.py:16: error: Unsupported type "dict[str, object]" for ** expansion in TypedDict [typeddict-item]
Found 1 error in 1 file (checked 1 source file)
Your Environment
user@pc:~/$ mypy --version
mypy 1.8.0 (compiled: yes)
user@pc:~/$ python3 --version
Python 3.12.0
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
Reproduziere die gemeldete Diagnose aus dem bereitgestellten main.py-Beispiel mit mypy 1.8.0 und untersuche, wie TypedDict-Konstruktoren die **-Expansion behandeln. Es wird keine Quelldatei oder kein Test genannt; als abgeschlossen gilt die Aufgabe erst mit einer klaren Erklärung der Einschränkung oder einer präzise abgegrenzten Korrektur mit Regressionstests.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100