tests/cases/compiler/gettersAndSettersTypesAgree.ts(2,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(3,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(5,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(6,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(9,15): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(9,37): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(10,15): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/compiler/gettersAndSettersTypesAgree.ts(10,37): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ==== tests/cases/compiler/gettersAndSettersTypesAgree.ts (8 errors) ==== class C { public get Foo() { return "foo";} // ok ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. public set Foo(foo) {} // ok - type inferred from getter return statement ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. public get Bar() { return "foo";} // ok ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. public set Bar(bar:string) {} // ok - type must be declared ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. } var o1 = {get Foo(){return 0;}, set Foo(val){}}; // ok - types agree (inference) ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. var o2 = {get Foo(){return 0;}, set Foo(val:number){}}; // ok - types agree ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.