TypeScript/tests/baselines/reference/icomparable.types

34 lines
1.5 KiB
Text

=== tests/cases/compiler/icomparable.ts ===
interface IComparable<T> {
>IComparable : IComparable<T>, Symbol(IComparable,Decl(icomparable.ts,0,0))
>T : T, Symbol(T,Decl(icomparable.ts,0,26))
compareTo(other: T);
>compareTo : (other: T) => any, Symbol(compareTo,Decl(icomparable.ts,0,30))
>other : T, Symbol(other,Decl(icomparable.ts,1,17))
>T : T, Symbol(T,Decl(icomparable.ts,0,26))
}
declare function sort<U extends IComparable<any>>(items: U[]): U[];
>sort : <U extends IComparable<any>>(items: U[]) => U[], Symbol(sort,Decl(icomparable.ts,2,5))
>U : U, Symbol(U,Decl(icomparable.ts,4,26))
>IComparable : IComparable<T>, Symbol(IComparable,Decl(icomparable.ts,0,0))
>items : U[], Symbol(items,Decl(icomparable.ts,4,54))
>U : U, Symbol(U,Decl(icomparable.ts,4,26))
>U : U, Symbol(U,Decl(icomparable.ts,4,26))
interface StringComparable extends IComparable<string> {
>StringComparable : StringComparable, Symbol(StringComparable,Decl(icomparable.ts,4,71))
>IComparable : IComparable<T>, Symbol(IComparable,Decl(icomparable.ts,0,0))
}
var sc: StringComparable[];
>sc : StringComparable[], Symbol(sc,Decl(icomparable.ts,9,7))
>StringComparable : StringComparable, Symbol(StringComparable,Decl(icomparable.ts,4,71))
var x = sort(sc);
>x : StringComparable[], Symbol(x,Decl(icomparable.ts,11,7))
>sort(sc) : StringComparable[]
>sort : <U extends IComparable<any>>(items: U[]) => U[], Symbol(sort,Decl(icomparable.ts,2,5))
>sc : StringComparable[], Symbol(sc,Decl(icomparable.ts,9,7))