microsoft / microsoft/TypeScript
Design Meeting Notes, 2026-06-23
Aperta
Nessuno ha ancora preso questa issue.
Design Notes
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
isolatedDeclarations and Control Flow Analysis
https://github.com/microsoft/typescript-go/pull/4367
- Want to be able to infer types for trivial expressions in
isolatedDeclarationsin a function block.- Specifically in discussion is if there are no return statements.
- But what happpens when you have a
never-returning call? That can cause anever. - Feels like anything with multiple statements in the body is questionable.
- We could make a special-case for
() => {}.- Probably enough to just say "just write
void".
- Probably enough to just say "just write
- Feels bad to say we can't come up with a type for
() => {}- Why? Feels like it's not a big deal?
- Well it's even more trivial than a single expression being returned.
- Sure, but the reason we added trivial expression inference was because people often have bigger structures of objects that are nested. So the triviality was not really about writing small expressions.
- One reason why we didn't do it (we think) is that we don't want to close the door to ourselves on how
voidvs.undefinedis inferred for no-return-expression functions.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia leggendo la discussione dell’issue e la pull request collegata, microsoft/typescript-go#4367. Chiarisci il comportamento previsto di isolatedDeclarations per i corpi delle funzioni senza istruzioni return, comprese le chiamate che non restituiscono mai e la distinzione tra void e undefined. Il lavoro è completato quando il progetto ha concordato il comportamento e il relativo ambito di implementazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- compilers
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100