=== tests/cases/compiler/contextualTypingArrayOfLambdas.ts === class A { >A : A, Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) foo: string; >foo : string, Symbol(foo, Decl(contextualTypingArrayOfLambdas.ts, 0, 9)) } class B extends A { >B : B, Symbol(B, Decl(contextualTypingArrayOfLambdas.ts, 2, 1)) >A : A, Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) bar: string; >bar : string, Symbol(bar, Decl(contextualTypingArrayOfLambdas.ts, 4, 19)) } class C extends A { >C : C, Symbol(C, Decl(contextualTypingArrayOfLambdas.ts, 6, 1)) >A : A, Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) baz: string; >baz : string, Symbol(baz, Decl(contextualTypingArrayOfLambdas.ts, 8, 19)) } var xs = [(x: A) => { }, (x: B) => { }, (x: C) => { }]; >xs : ((x: A) => void)[], Symbol(xs, Decl(contextualTypingArrayOfLambdas.ts, 12, 3)) >[(x: A) => { }, (x: B) => { }, (x: C) => { }] : ((x: A) => void)[] >(x: A) => { } : (x: A) => void >x : A, Symbol(x, Decl(contextualTypingArrayOfLambdas.ts, 12, 11)) >A : A, Symbol(A, Decl(contextualTypingArrayOfLambdas.ts, 0, 0)) >(x: B) => { } : (x: B) => void >x : B, Symbol(x, Decl(contextualTypingArrayOfLambdas.ts, 12, 26)) >B : B, Symbol(B, Decl(contextualTypingArrayOfLambdas.ts, 2, 1)) >(x: C) => { } : (x: C) => void >x : C, Symbol(x, Decl(contextualTypingArrayOfLambdas.ts, 12, 41)) >C : C, Symbol(C, Decl(contextualTypingArrayOfLambdas.ts, 6, 1))