Allow setting final instance attributes in __new__
Offen
Dieses Issue hat noch niemand übernommen.
feature
priority-1-normal
topic-final
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
These patterns should be allowed:
class C:
def __new__(cls, x: int) -> C:
self = object.__new__(cls)
self.x: Final = x
return self
and
class C:
x: Final[int]
def __new__(cls) -> C:
self = object.__new__(cls)
self.x: Final = 1
return self
Currently this is blocked by https://github.com/python/mypy/issues/1021
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
Das Issue nennt keinen Datei- oder Testpfad. Beginne damit, mypys Umgang mit Zuweisungen an Final-Instanzattribute und new nachzuverfolgen; verwende die beiden Beispiele als Akzeptanzfälle und bestätige, dass beide akzeptiert werden, ohne andere Final-Prüfungen abzuschwächen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100