=== tests/cases/compiler/concatError.ts === var n1: number[]; >n1 : number[] /* 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 : number[] fa = fa.concat([0]); >fa = fa.concat([0]) : number[] >fa : number[] >fa.concat([0]) : number[] >fa.concat : { (...items: U[]): number[]; (...items: number[]): number[]; } >fa : number[] >concat : { (...items: U[]): number[]; (...items: number[]): number[]; } >[0] : number[] >0 : number fa = fa.concat(0); >fa = fa.concat(0) : number[] >fa : number[] >fa.concat(0) : number[] >fa.concat : { (...items: U[]): number[]; (...items: number[]): number[]; } >fa : number[] >concat : { (...items: U[]): number[]; (...items: number[]): number[]; } >0 : number /* declare class C { public m(p1: C>): C; //public p: T; } var c: C; var cc: C>; c = c.m(cc); */