mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 21:53:42 -06:00
Fix declaration emitted crash on mapped type with no type (#22213)
This commit is contained in:
parent
dafa7321c6
commit
c1128d6957
@ -608,7 +608,12 @@ namespace ts {
|
||||
"?");
|
||||
}
|
||||
write(": ");
|
||||
emitType(node.type);
|
||||
if (node.type) {
|
||||
emitType(node.type);
|
||||
}
|
||||
else {
|
||||
write("any");
|
||||
}
|
||||
write(";");
|
||||
writeLine();
|
||||
decreaseIndent();
|
||||
|
||||
16
tests/baselines/reference/mappedTypeNoTypeNoCrash.errors.txt
Normal file
16
tests/baselines/reference/mappedTypeNoTypeNoCrash.errors.txt
Normal file
@ -0,0 +1,16 @@
|
||||
tests/cases/compiler/mappedTypeNoTypeNoCrash.ts(1,51): error TS2304: Cannot find name 'K'.
|
||||
tests/cases/compiler/mappedTypeNoTypeNoCrash.ts(1,51): error TS4081: Exported type alias 'T0' has or is using private name 'K'.
|
||||
tests/cases/compiler/mappedTypeNoTypeNoCrash.ts(1,57): error TS2304: Cannot find name 'K'.
|
||||
tests/cases/compiler/mappedTypeNoTypeNoCrash.ts(1,57): error TS4081: Exported type alias 'T0' has or is using private name 'K'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/mappedTypeNoTypeNoCrash.ts (4 errors) ====
|
||||
type T0<T> = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never;
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'K'.
|
||||
~
|
||||
!!! error TS4081: Exported type alias 'T0' has or is using private name 'K'.
|
||||
~
|
||||
!!! error TS2304: Cannot find name 'K'.
|
||||
~
|
||||
!!! error TS4081: Exported type alias 'T0' has or is using private name 'K'.
|
||||
4
tests/baselines/reference/mappedTypeNoTypeNoCrash.js
Normal file
4
tests/baselines/reference/mappedTypeNoTypeNoCrash.js
Normal file
@ -0,0 +1,4 @@
|
||||
//// [mappedTypeNoTypeNoCrash.ts]
|
||||
type T0<T> = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never;
|
||||
|
||||
//// [mappedTypeNoTypeNoCrash.js]
|
||||
@ -0,0 +1,9 @@
|
||||
=== tests/cases/compiler/mappedTypeNoTypeNoCrash.ts ===
|
||||
type T0<T> = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never;
|
||||
>T0 : Symbol(T0, Decl(mappedTypeNoTypeNoCrash.ts, 0, 0))
|
||||
>T : Symbol(T, Decl(mappedTypeNoTypeNoCrash.ts, 0, 8))
|
||||
>K : Symbol(K, Decl(mappedTypeNoTypeNoCrash.ts, 0, 16))
|
||||
>T : Symbol(T, Decl(mappedTypeNoTypeNoCrash.ts, 0, 8))
|
||||
>key : Symbol(key, Decl(mappedTypeNoTypeNoCrash.ts, 0, 43))
|
||||
>T : Symbol(T, Decl(mappedTypeNoTypeNoCrash.ts, 0, 8))
|
||||
|
||||
11
tests/baselines/reference/mappedTypeNoTypeNoCrash.types
Normal file
11
tests/baselines/reference/mappedTypeNoTypeNoCrash.types
Normal file
@ -0,0 +1,11 @@
|
||||
=== tests/cases/compiler/mappedTypeNoTypeNoCrash.ts ===
|
||||
type T0<T> = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never;
|
||||
>T0 : number
|
||||
>T : T
|
||||
>K : K
|
||||
>T : T
|
||||
>key : key
|
||||
>K : No type information available!
|
||||
>T : T
|
||||
>K : No type information available!
|
||||
|
||||
2
tests/cases/compiler/mappedTypeNoTypeNoCrash.ts
Normal file
2
tests/cases/compiler/mappedTypeNoTypeNoCrash.ts
Normal file
@ -0,0 +1,2 @@
|
||||
// @declaration: true
|
||||
type T0<T> = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never;
|
||||
Loading…
x
Reference in New Issue
Block a user