add bound syntax for type variable tuples and parameter specifications
Offen
Dieses Issue hat noch niemand übernommen.
interpreter-core
topic-typing
type-feature
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Feature or enhancement
Proposal:
# typical forms
class A[T: int, *Ts: int, **P: [int]]: ...
A[
str, # error
int, # ok, matching Ts bound
str, # error, not matching Ts bound
[str], # error, not matching P bound
]
A[
int, # ok
int, # ok, matching Ts bound
bool, # ok, matching Ts bound
[int], # ok, matching P bound
]
# tvt unpacked form
class B[*Ts: *tuple[int, str]]: ...
B[
int, # ok
int, # error, not subtype of str
int, # error, too many types
]
Has this already been discussed elsewhere?
I have already discussed this feature proposal on Discourse
Links to previous discussion of this feature:
Linked PRs
- gh-148946
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
Es werden keine Implementierungsdateien oder Tests genannt. Beginne damit, die verknüpfte Discourse-Diskussion und den PR gh-148946 zu lesen, und verfolge anschließend, wie sich die Beispiele des Vorschlags für ein Tupel gebundener Typvariablen und für Parameterspezifikationen verhalten sollten. Fertig ist die Aufgabe, wenn die dokumentierten Beispiele gültige Argumente akzeptieren und ungültige Schranken und eine ungültige Argumentanzahl ablehnen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100