//// [typeParameterConstrainedToOuterTypeParameter2.ts] interface A { foo(x: A>) } interface B { foo(x: B>) } var a: A var b: B = a; //// [typeParameterConstrainedToOuterTypeParameter2.js] var a; var b = a;