=== tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter.ts === interface A { >A : A >T : T (x: U[]) >U : U >T : T >x : U[] >U : U } interface B { >B : B >T : T (x: U) >U : U >T : T >x : U >U : U } var a: A >a : A >A : A var b: B = a; // assignment should be legal (both U's get instantiated to any for comparison) >b : B >B : B >a : A