=== tests/cases/compiler/concatError.ts === var n1: number[]; >n1 : Symbol(n1, Decl(concatError.ts, 1, 3)) /* interface Array { concat(...items: T[][]): T[]; // Note: This overload needs to be picked for arrays of arrays, even though both are applicable concat(...items: T[]): T[]; } */ var fa: number[]; >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) fa = fa.concat([0]); >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) >fa.concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) >concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) fa = fa.concat(0); >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) >fa.concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) >fa : Symbol(fa, Decl(concatError.ts, 8, 3)) >concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) /* declare class C { public m(p1: C>): C; //public p: T; } var c: C; var cc: C>; c = c.m(cc); */