tests/cases/compiler/getAndSetNotIdenticalType3.ts(5,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/getAndSetNotIdenticalType3.ts(5,9): error TS2380: The return type of a 'get' accessor must be assignable to its 'set' accessor type Type 'number' is not assignable to type 'string'. tests/cases/compiler/getAndSetNotIdenticalType3.ts(8,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/getAndSetNotIdenticalType3.ts(9,9): error TS2322: Type 'A' is not assignable to type 'A'. Type 'string' is not assignable to type 'number'. tests/cases/compiler/getAndSetNotIdenticalType3.ts(15,1): error TS2322: Type 'A' is not assignable to type 'A'. ==== tests/cases/compiler/getAndSetNotIdenticalType3.ts (5 errors) ==== class A { foo: T; } class C { data: A; get x(): A { ~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~ !!! error TS2380: The return type of a 'get' accessor must be assignable to its 'set' accessor type !!! error TS2380: Type 'number' is not assignable to type 'string'. return this.data; } set x(v: A) { ~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. this.data = v; ~~~~~~~~~ !!! error TS2322: Type 'A' is not assignable to type 'A'. !!! error TS2322: Type 'string' is not assignable to type 'number'. } } var x = new C(); var r = x.x; x.x = r; ~~~ !!! error TS2322: Type 'A' is not assignable to type 'A'.