diff --git a/tests/baselines/reference/keyofAndIndexedAccess.js b/tests/baselines/reference/keyofAndIndexedAccess.js index 3d222583ffd..c23f10f3e68 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.js +++ b/tests/baselines/reference/keyofAndIndexedAccess.js @@ -627,6 +627,14 @@ class Unbounded { let y: {} | undefined | null = x; } } + +// Repro from #23940 + +interface I7 { + x: any; +} +type Foo7 = T; +declare function f7(type: K): Foo7; //// [keyofAndIndexedAccess.js] @@ -1368,3 +1376,8 @@ declare function fn(o: T, k: K): void; declare class Unbounded { foo(x: T[keyof T]): void; } +interface I7 { + x: any; +} +declare type Foo7 = T; +declare function f7(type: K): Foo7; diff --git a/tests/baselines/reference/keyofAndIndexedAccess.symbols b/tests/baselines/reference/keyofAndIndexedAccess.symbols index a40a2347d91..ef43a711264 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess.symbols @@ -2235,3 +2235,26 @@ class Unbounded { } } +// Repro from #23940 + +interface I7 { +>I7 : Symbol(I7, Decl(keyofAndIndexedAccess.ts, 627, 1)) + + x: any; +>x : Symbol(I7.x, Decl(keyofAndIndexedAccess.ts, 631, 14)) +} +type Foo7 = T; +>Foo7 : Symbol(Foo7, Decl(keyofAndIndexedAccess.ts, 633, 1)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 634, 10)) +>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 634, 10)) + +declare function f7(type: K): Foo7; +>f7 : Symbol(f7, Decl(keyofAndIndexedAccess.ts, 634, 32)) +>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 635, 20)) +>I7 : Symbol(I7, Decl(keyofAndIndexedAccess.ts, 627, 1)) +>type : Symbol(type, Decl(keyofAndIndexedAccess.ts, 635, 40)) +>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 635, 20)) +>Foo7 : Symbol(Foo7, Decl(keyofAndIndexedAccess.ts, 633, 1)) +>I7 : Symbol(I7, Decl(keyofAndIndexedAccess.ts, 627, 1)) +>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 635, 20)) + diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index 0d6a350bd3c..a85b34d707b 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -2591,3 +2591,26 @@ class Unbounded { } } +// Repro from #23940 + +interface I7 { +>I7 : I7 + + x: any; +>x : any +} +type Foo7 = T; +>Foo7 : T +>T : T +>T : T + +declare function f7(type: K): Foo7; +>f7 : (type: K) => I7[K] +>K : K +>I7 : I7 +>type : K +>K : K +>Foo7 : T +>I7 : I7 +>K : K +