=== tests/cases/compiler/icomparable.ts === interface IComparable { >IComparable : IComparable >T : T compareTo(other: T); >compareTo : (other: T) => any >other : T >T : T } declare function sort>(items: U[]): U[]; >sort : >(items: U[]) => U[] >U : U >IComparable : IComparable >items : U[] >U : U >U : U interface StringComparable extends IComparable { >StringComparable : StringComparable >IComparable : IComparable } var sc: StringComparable[]; >sc : StringComparable[] >StringComparable : StringComparable var x = sort(sc); >x : StringComparable[] >sort(sc) : StringComparable[] >sort : >(items: U[]) => U[] >sc : StringComparable[]