=== tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments5.ts ===
function f<T, U>(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { return [t1, pf2(t1)]; }
>f : Symbol(f, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 0))
>T : Symbol(T, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 11))
>U : Symbol(U, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 13))
>t1 : Symbol(t1, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 17))
>T : Symbol(T, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 11))
>u1 : Symbol(u1, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 23))
>U : Symbol(U, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 13))
>pf1 : Symbol(pf1, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 30))
>u2 : Symbol(u2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 37))
>U : Symbol(U, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 13))
>T : Symbol(T, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 11))
>pf2 : Symbol(pf2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 49))
>t2 : Symbol(t2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 56))
>T : Symbol(T, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 11))
>U : Symbol(U, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 13))
>T : Symbol(T, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 11))
>U : Symbol(U, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 13))
>t1 : Symbol(t1, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 17))
>pf2 : Symbol(pf2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 49))
>t1 : Symbol(t1, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 17))

interface A { a: A; }
>A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102))
>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 1, 13))
>A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102))

interface B extends A { b: any; }
>B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 1, 21))
>A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102))
>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 2, 23))

var a: A, b: B;
>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 4, 3))
>A : Symbol(A, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 102))
>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 4, 9))
>B : Symbol(B, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 1, 21))

var d = f(a, b, u2 => u2.b, t2 => t2);
>d : Symbol(d, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 6, 3))
>f : Symbol(f, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 0, 0))
>a : Symbol(a, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 4, 3))
>b : Symbol(b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 4, 9))
>u2 : Symbol(u2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 6, 15))
>u2.b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 2, 23))
>u2 : Symbol(u2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 6, 15))
>b : Symbol(B.b, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 2, 23))
>t2 : Symbol(t2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 6, 27))
>t2 : Symbol(t2, Decl(typeParameterFixingWithContextSensitiveArguments5.ts, 6, 27))

