//// [constraints0.ts] interface A { a: number; } interface B { b: string; } interface C { x: T; } var v1: C; // should work var v2: C; // should not work var y = v1.x.a; // 'a' should be of type 'number' //// [constraints0.js] var v1; // should work var v2; // should not work var y = v1.x.a; // 'a' should be of type 'number'