// @declaration: true interface Foo { a: T; } class C { public x: T; public y: Foo; public z: Foo; } var v1 : C; var y = v1.x; // should be 'string' var w = v1.y.a; // should be 'string' var z = v1.z.a; // should be 'number'