- Rollup Version: rollup v2.50.0
- Operating System (or Browser): n/a
- Node Version (if applicable): v16.1.0
Repro
$ cat proto.js
let getter_effect = "FAIL";
let setter_effect = "FAIL";
let proto = {
get foo() {
getter_effect = "PASS";
},
set bar(value) {
setter_effect = "PASS";
}
};
let obj1 = {
__proto__: proto
};
let obj2 = {
__proto__: proto
};
let unused = obj1.foo;
obj2.bar = 0;
console.log(getter_effect, setter_effect);
Expected Behavior
$ cat proto.js | node
PASS PASS
Actual Behavior
$ cat proto.js | rollup --silent | node
FAIL FAIL
$ cat proto.js | rollup --silent
let getter_effect = "FAIL";
let setter_effect = "FAIL";
console.log(getter_effect, setter_effect);
Repro
Expected Behavior
Actual Behavior