//@ runBigIntEnabled

assert = {
    sameValue: function (input, expected, message) {
        if (input !== expected)
            throw new Error(message);
    }
};

let o = {
    [Symbol.toPrimitive]: function() {
        throw new Error("Bad");
    }
};

try{
    o & Symbol("2");
    assert.sameValue(true, false, "Exception expected to be throwed, but executed without error");
} catch (e) {
    assert.sameValue(e.message, "Bad", "Expected to throw Error('Bad'), but got: " + e);
}

try{
    Symbol("2") & o;
    assert.sameValue(true, false, "Exception expected to be throwed, but executed without error");
} catch (e) {
    assert.sameValue(e instanceof TypeError, true, "Expected to throw TypeError, but got: " + e)
}

