Hi,<div><br></div><div>If I'm following properly, iterate is now a unique name that can be used on any object as per July 24 meeting notes [1]. It led the decision to remove the iterate trap on proxies [2]:</div><div>"Removed ''iterate()'' trap as iterators can be defined on any old object via an ''iterate'' unique name. See discussion at [[harmony:iterators]]. A proxy will intercept the request for its iterator via the ''get'' trap, which is passed the unique ''iterator'' name as argument."</div>
<div><br></div><div>What about making "enumerator" a unique name and remove the enumerate trap too?</div><div>Proxies that want to redefine the behavior of for-in loop can just decide to return a different iterator than the target one.</div>
<div><br></div><div>David</div><div><br></div><div>[1] <a href="https://mail.mozilla.org/pipermail/es-discuss/2012-July/024207.html">https://mail.mozilla.org/pipermail/es-discuss/2012-July/024207.html</a></div><div>[2] <a href="http://wiki.ecmascript.org/doku.php?id=harmony:direct_proxies#open_issues">http://wiki.ecmascript.org/doku.php?id=harmony:direct_proxies#open_issues</a></div>