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
|
=== tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter2.ts ===
interface A<T> {
>A : A<T>
>T : T
foo<U extends T>(x: A<A<U>>)
>foo : <U extends T>(x: A<A<U>>) => any
>U : U
>T : T
>x : A<A<U>>
>A : A<T>
>A : A<T>
>U : U
}
interface B<T> {
>B : B<T>
>T : T
foo<U extends T>(x: B<B<U>>)
>foo : <U extends T>(x: B<B<U>>) => any
>U : U
>T : T
>x : B<B<U>>
>B : B<T>
>B : B<T>
>U : U
}
var a: A<string>
>a : A<string>
>A : A<T>
var b: B<string> = a;
>b : B<string>
>B : B<T>
>a : A<string>
|