diff --git a/tests/baselines/reference/indirectTypeParameterReferences.js b/tests/baselines/reference/indirectTypeParameterReferences.js index e6e807a4720..f947b8f7c1f 100644 --- a/tests/baselines/reference/indirectTypeParameterReferences.js +++ b/tests/baselines/reference/indirectTypeParameterReferences.js @@ -23,6 +23,11 @@ combined(comb => { comb.b comb.a }) + +// Repro from #19091 + +declare function f(a: T): { a: typeof a }; +let n: number = f(2).a; //// [indirectTypeParameterReferences.js] @@ -41,3 +46,4 @@ combined(function (comb) { comb.b; comb.a; }); +var n = f(2).a; diff --git a/tests/baselines/reference/indirectTypeParameterReferences.symbols b/tests/baselines/reference/indirectTypeParameterReferences.symbols index 0cb091a8622..cf0f3e7bbc9 100644 --- a/tests/baselines/reference/indirectTypeParameterReferences.symbols +++ b/tests/baselines/reference/indirectTypeParameterReferences.symbols @@ -73,3 +73,19 @@ combined(comb => { }) +// Repro from #19091 + +declare function f(a: T): { a: typeof a }; +>f : Symbol(f, Decl(indirectTypeParameterReferences.ts, 23, 2)) +>T : Symbol(T, Decl(indirectTypeParameterReferences.ts, 27, 19)) +>a : Symbol(a, Decl(indirectTypeParameterReferences.ts, 27, 22)) +>T : Symbol(T, Decl(indirectTypeParameterReferences.ts, 27, 19)) +>a : Symbol(a, Decl(indirectTypeParameterReferences.ts, 27, 30)) +>a : Symbol(a, Decl(indirectTypeParameterReferences.ts, 27, 22)) + +let n: number = f(2).a; +>n : Symbol(n, Decl(indirectTypeParameterReferences.ts, 28, 3)) +>f(2).a : Symbol(a, Decl(indirectTypeParameterReferences.ts, 27, 30)) +>f : Symbol(f, Decl(indirectTypeParameterReferences.ts, 23, 2)) +>a : Symbol(a, Decl(indirectTypeParameterReferences.ts, 27, 30)) + diff --git a/tests/baselines/reference/indirectTypeParameterReferences.types b/tests/baselines/reference/indirectTypeParameterReferences.types index 2a8ac9a8b08..e38f5dd2577 100644 --- a/tests/baselines/reference/indirectTypeParameterReferences.types +++ b/tests/baselines/reference/indirectTypeParameterReferences.types @@ -86,3 +86,21 @@ combined(comb => { }) +// Repro from #19091 + +declare function f(a: T): { a: typeof a }; +>f : (a: T) => { a: T; } +>T : T +>a : T +>T : T +>a : T +>a : T + +let n: number = f(2).a; +>n : number +>f(2).a : number +>f(2) : { a: number; } +>f : (a: T) => { a: T; } +>2 : 2 +>a : number +