1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
=== tests/cases/compiler/extendedInterfaceGenericType.ts ===
interface Alpha<T> {
>Alpha : Alpha<T>
>T : T
takesArgOfT(arg: T): Alpha<T>;
>takesArgOfT : (arg: T) => Alpha<T>
>arg : T
>T : T
>Alpha : Alpha<T>
>T : T
makeBetaOfNumber(): Beta<number>;
>makeBetaOfNumber : () => Beta<number>
>Beta : Beta<T>
}
interface Beta<T> extends Alpha<T> {
>Beta : Beta<T>
>T : T
>Alpha : Alpha<T>
>T : T
}
var alpha: Alpha<number>;
>alpha : Alpha<number>
>Alpha : Alpha<T>
var betaOfNumber = alpha.makeBetaOfNumber();
>betaOfNumber : Beta<number>
>alpha.makeBetaOfNumber() : Beta<number>
>alpha.makeBetaOfNumber : () => Beta<number>
>alpha : Alpha<number>
>makeBetaOfNumber : () => Beta<number>
betaOfNumber.takesArgOfT(5);
>betaOfNumber.takesArgOfT(5) : Alpha<number>
>betaOfNumber.takesArgOfT : (arg: number) => Alpha<number>
>betaOfNumber : Beta<number>
>takesArgOfT : (arg: number) => Alpha<number>
>5 : 5
|