On Apr 30, 2014, at 11:08 AM, Mark S. Miller <[email protected]> wrote:

> I'm surprised and alarmed by this, and it seems wrong. It is also not what I 
> think I remember. What about, for example, the invariant that an object 
> cannot both claim that a property is non-configurable but then later change 
> its alleged configuration? The issue isn't just the internal perception by 
> other internal procedures,but obviously also the observations by user code.

Don’t read too much into quick email responses. This has been hashed over 
before, and we should dig out the old discussions and nothing has really 
changed with this part of the spec. for a long time.  Unfortunately I’m 
traveling this week and can’t spend much time on it. 

Note that invariants such as you describe (for Proxies, which is what this is 
all about) apply only to non-configurable properties (which, by definition must 
exist on the target). It is possible that there needs to be an additional check 
in that case requiring that for such properties that the descriptor object 
returned from the handler must only use data properties for the attribures.

> What I think I remember is that a proxy can add other fields to a property 
> descriptor object, but that it cannot change the behavior of any of the 
> ES6-defined fields (the usual .value, .writable, .set, .get, .enumerable, 
> .configurable), not even to censor them.

For configurable properties, it can do anything it wants.  How would we prevent?
> 
> 
> Am I misunderstanding something? If not, this seems like a huge disconnect 
> for which we need to stop the train.\

Again, there is nothing new here.  At the very least you should look at the old 
discussion about this.

Allen


_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to