microsoft / microsoft/TypeScript
Inlay variance hints
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.4k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
🔍 Search Terms
inlay hints, variance annotations
✅ Viability Checklist
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
- This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
⭐ Suggestion
Display missing variance annotations for type parameters as inlay hints.
Examples:
type Ex1<T> = {}
type Ex2</* out */ T> = () => T
type Ex3</* in */ T> = (in: T) => void
type Ex4</* in out */ T> = (in: T) => T
📃 Motivating Example
It is convenient to know variance of specific type parameters when you're trying to understand how a type works/should be used.
💻 Use Cases
Examining complex 3rd party types.
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 mit der Überprüfung des angeforderten Verhaltens von inlay-hint und der vier Varianzbeispiele im Issue. Ermittle, wie fehlende Annotationen für Typparameter angezeigt werden sollen, einschließlich der Fälle in, out und in out. Als erledigt gilt die Aufgabe, wenn Varianzhinweise für anwendbare Typen angezeigt werden, ohne das erzeugte JavaScript oder das bestehende TypeScript/JavaScript-Verhalten zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100