<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 23, 2014 at 11:03 AM, Marcel Taeumel <span dir="ltr">&lt;<a href="mailto:marcel.taeumel@student.hpi.uni-potsdam.de" target="_blank">marcel.taeumel@student.hpi.uni-potsdam.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Some addon: I personally think that all variables are initialized with &quot;nil&quot;.<br>
:)<br></blockquote><div><br></div><div>Yes they are, and its one of the nice guarantees that Smalltalk makes that all variables are initialized either to nil or, in non-object data to 0 or Character value: 0.  But the compiler can&#39;t in general tell whether a reference to a variable before it is assigned to is a mistake or not.  For example in this:</div><div><br></div><div>| t |</div><div>self doSomethingWith: t</div><div><br></div><div>the compiler can&#39;t know whether t is being used correctly or not ever.  It is pointless for the compiler to try and analyse any relevant implementations of doSomethingWith: looking for e.g. ifNil: guards since doSomethingWith: can be redefined.  Marcel, do you have some concrete criteria for squashing the warning in certain cases?  If you have a good set of criteria we can implement them, otherwise I think we have to accept the inaccuracy of the warning.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Best,<br>
Marcel<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://forum.world.st/compiler-whitewash-tp4785831p4786264.html" target="_blank">http://forum.world.st/compiler-whitewash-tp4785831p4786264.html</a><br>
<div class=""><div class="h5">Sent from the Squeak - Dev mailing list archive at Nabble.com.<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>