//@ runBigIntEnabled

function assert(a) {
    if (!a)
        throw new Error("Bad!")
}

function assertTypeError(input) {
    try {
        let a = +input;
        assert(false);
    } catch(e) {
        assert(e instanceof TypeError);
    }
}

assertTypeError(10n);
assertTypeError(-10n);
assertTypeError(Object(10n));
assertTypeError(Object(-10n));

let obj = {
    [Symbol.toPrimitive]: function() {
        return 1n;
    },
    valueOf: function() {
        throw new Error("Should never be called");
    },
    toString: function() {
        throw new Error("Should never be called");
    }
};
assertTypeError(obj);

obj = {
    valueOf: function() {
        return 1n;
    },
    toString: function() {
        throw new Error("Should never be called");
    }
};
assertTypeError(obj);

obj = {
    toString: function() {
        return 1n;
    }
};
assertTypeError(obj);

