Design Meeting Notes, 2026-09-15
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 20/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- compilers
Rechercherichtung
Beginne damit, die verknüpften Issues 64192, 62180 und 62181 zu lesen, und sieh dir anschließend die PRs 64172 und 64248 an, um bestehende Ansätze zu prüfen. Die Notizen behandeln mehrere ungelöste Entwürfe für zirkuläre Typinferenz, Overloads, Constraints und das Durchsickern von Typparametern, nennen jedoch keine Dateien, Tests oder ein Abschlusskriterium.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Better Type Inference Self-Referential Values
- https://github.com/microsoft/TypeScript/issues/64192
- https://github.com/microsoft/TypeScript/issues/62180
- https://github.com/microsoft/TypeScript/issues/62181
- https://github.com/microsoft/TypeScript/pull/64172
- https://github.com/microsoft/TypeScript/pull/64248
const Category = z.object({
get subcategories() {
// ~~~~~~~~~~~~~
// Subcategory implicitly has type 'any' because of circular
// resolution.
return z.array(Category);
}
});
- Zod and similar libraries are motivation here.
- While processing the object literal, we normally defer return types for
getaccessors. - But when validating the constraint, we start pulling on those very types.
- One idea: when we try to resolve a call that is already undergoing resolution, we say "don't check constraints".
- Why don't we disable constraint checking for all calls and do it in another pass?
- We're not always interested in just generating an error, we're often trying to grab the constraint for other information (e.g. if there's no candidates, we have to fix to the constraint).
- How does this affect overloads? Because this would affect how we choose overloads, right?
- Should not play in?
- Could we just return the original uninstantiated type parameter from the call when you detect this circularity?
- How would that work? Isn't that a type parameter leak?
- Yes, but the idea is there's an "outer" call and an "inner" call. The inner call would leak a type parameter (e.g.
T) and the outer call would instantiate it after inference. - Scary, but maybe!
- Outstanding PRs are likely not quite what we're looking for, but may have a PR prototyping these ideas soon.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.4k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/TypeScript
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
microsoft/TypeScript#64322 · 2 Kommentare · 1 Reaktion · 2 zugewiesene Personen ·
-
Possible Improvement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
microsoft/TypeScript#64278 · 1 Kommentar · 1 Reaktion ·
-
Docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
microsoft/TypeScript#64118 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
microsoft/TypeScript#64094 ·
-
Docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
microsoft/TypeScript#63959 · 5 Kommentare ·
Alle Issues in microsoft/TypeScript
Ähnliche Issues
-
kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
kubernetes-sigs/prow#953 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
caddyserver/caddy#8046 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
L1 recommended for recruits
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
optimization optimization:agents-md-curator
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
githubnext/gh-aw-cao#13143 ·