//// [infinitelyExpandingTypes2.ts] interface Foo { x: Foo>; } interface Bar extends Foo { y: string; } function f(p: Foo) { console.log(p); } var v: Bar = null; f(v); // should not error //// [infinitelyExpandingTypes2.js] function f(p) { console.log(p); } var v = null; f(v);