Darien Valentine (2018-09-04T08:02:59.000Z)
valentinium at gmail.com (2018-09-04T08:25:45.634Z)
@Isiah: That seems like it would likely be a safe change since it would only make currently invalid PDs become valid. However I’m unsure if it’s sufficiently unambiguous as stated on account of PDs which set only metadata without also overwriting an existing get/set/value. For example, what would be the effect of the PD `{ get: undefined, set: undefined, enumerable: false }` on an existing accessor property `{ configurable: true, get: fn, enumerable: true }`? Does it say to set the existing property to be unenumerable, like `{ enumerable: false }` does presently? Or does it ask to redefine it as a data property whose value is `undefined`?. Also, on its own, such a change would not address the Reflect.defineProperty non-parity quirk.
valentinium at gmail.com (2018-09-04T08:25:24.728Z)
@Isiah: That seems like it would be likely to be a safe change since it would only make currently invalid PDs become valid. However I’m unsure if it’s sufficiently unambiguous as stated on account of PDs which set only metadata without also overwriting an existing get/set/value. For example, what would be the effect of the PD `{ get: undefined, set: undefined, enumerable: false }` on an existing accessor property `{ configurable: true, get: fn, enumerable: true }`? Does it say to set the existing property to be unenumerable, like `{ enumerable: false }` does presently? Or does it ask to redefine it as a data property whose value is `undefined`?. Also, on its own, such a change would not address the Reflect.defineProperty non-parity quirk.