//// [inferSetterParamType.ts]
class Foo {

    get bar() {
        return 0;
    }
    set bar(n) { // should not be an error - infer number
    }
}

class Foo2 {

    get bar() {
        return 0; // should be an error - can't coerce infered return type to match setter annotated type
    }
    set bar(n:string) {
    }
}


//// [inferSetterParamType.js]
var Foo = (function () {
    function Foo() {
    }
    Object.defineProperty(Foo.prototype, "bar", {
        get: function () {
            return 0;
        },
        set: function (n) {
        },
        enumerable: true,
        configurable: true
    });
    return Foo;
})();
var Foo2 = (function () {
    function Foo2() {
    }
    Object.defineProperty(Foo2.prototype, "bar", {
        get: function () {
            return 0; // should be an error - can't coerce infered return type to match setter annotated type
        },
        set: function (n) {
        },
        enumerable: true,
        configurable: true
    });
    return Foo2;
})();
