<p dir="ltr">Any proposal that destroys this invariant:</p>
<p dir="ltr">function() {<br>
        var x = obj();</p>
<p dir="ltr">   // other statements not involving x</p>
<p dir="ltr">   x // still defined<br>
} </p>
<p dir="ltr">destroys local reasoning and would almost certainly do more harm than good. </p>
<p dir="ltr">In programs with leaks, the leak is often inside of library code, and breaking the library's own invariants will cause more confusion, not less, in many cases. </p>
<p dir="ltr">I shudder to think about bug reports I would receive in my libraries where someone forced a variable reference I was holding to become undefined or start throwing if I try to reference it.</p>
<p dir="ltr">-- Yehuda Katz<br>
(ph) 718.877.1325</p>
<div class="gmail_quote">On Oct 25, 2012 9:25 PM, "John J Barton" <<a href="mailto:johnjbarton@johnjbarton.com">johnjbarton@johnjbarton.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr"><br>
On Oct 25, 2012 8:42 PM, "Domenic Denicola" <<a href="mailto:domenic@domenicdenicola.com" target="_blank">domenic@domenicdenicola.com</a>> wrote:</p>
<p dir="ltr">><br>
> The new thing this proposal brings to the table is the ability to mark, from within your code, exactly what object you're worried about the leakiness of. You also get very understandable error messages for determining who's using that object. Pouring through the list of retained objects, trying to find the one you're concerned about by looking through ambiguous short names or via the profiler's deep tree hierarchy, is not nearly as straightforward.<br>


 <br>
But don't you get that by just changing one line to<br>
    var obj = undefined;<br>
?<br>
jjb</p>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div>