microsoft / microsoft/TypeScript
Error: Debug Failure. No error for last overload signature
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
🔎 Search Terms
The TypeScript compiler crashs with the message "Error: Debug Failure. No error for last overload signature". (Check the DevTools console for the error message in the TypeScript Playground).
I've found issue #60229, which has the same error message. However, I am not sure if the root cause is the same.
🕗 Version & Regression Information
- The problem appears in the latest nightly version (v5.9.0-dev.20250403)
- This changed between versions 3.5.1 and 3.6.2 (in the Playground it works in 3.5.1 but not in 3.6.2 anymore)
⏯ Playground Link
💻 Code
type Generic<T> = T extends any[] ? T[number] : T[keyof T];
export function testFn<A extends Record<string, any>>(
obj: A,
cb: (b: Generic<Partial<A>>) => any
) {
for (const [key, val] of Object.entries(obj)) {
cb(val as Generic<A>);
}
}
🙁 Actual behavior
The compiler crashs with:
Error: Debug Failure. No error for last overload signature
at resolveCall (M:\websites\app\node_modules\typescript\lib\_tsc.js:75576:19)
at resolveCallExpression (M:\websites\app\node_modules\typescript\lib\_tsc.js:75970:12)
at resolveSignature (M:\websites\app\node_modules\typescript\lib\_tsc.js:76398:16)
at getResolvedSignature (M:\websites\app\node_modules\typescript\lib\_tsc.js:76425:20)
at checkCallExpression (M:\websites\app\node_modules\typescript\lib\_tsc.js:76533:23)
at checkExpressionWorker (M:\websites\app\node_modules\typescript\lib\_tsc.js:79950:16)
at checkExpression (M:\websites\app\node_modules\typescript\lib\_tsc.js:79849:32)
at checkExpressionCached (M:\websites\app\node_modules\typescript\lib\_tsc.js:79473:28)
at checkVariableLikeDeclaration (M:\websites\app\node_modules\typescript\lib\_tsc.js:82311:35)
at checkVariableDeclaration (M:\websites\app\node_modules\typescript\lib\_tsc.js:82407:5)
🙂 Expected behavior
That the compiler does not crash.
Additional information about the issue
Changing
cb: (b: Generic<Partial<A>>) => any
to
cb: (b: Partial<Generic<A>>) => any
prevents the error. However, this only addresses the symptoms rather than the root cause.
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
Reproduziere den Absturz im TypeScript Playground mit der verlinkten nightly-Version und dem bereitgestellten generischen Callback-Beispiel. Beginne bei den im Stacktrace angezeigten Einträgen resolveCall und resolveCallExpression, vergleiche das Verhalten mit den Versionen 3.5.1 und 3.6.2 und stelle sicher, dass das Kompilieren des Beispiels nicht mehr abstürzt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100