[Coincidentally, Stefan's message about identically named (instance) methods arrived as I was composing this note.  It's possible this is the same thing, but with a different twist...]<div><br></div><div>One might expect that an instance reference calls an instance method and a class reference calls a static method even if they have the same name, but it ain't so.  And the compiler doesn't issue any warning.  Consider the following:</div>
<div><br></div><div>==== file: <a href="http://fn.ck">fn.ck</a></div><div><div>public class F {</div><div>    fun static void method() { <<< "static method()" >>>; }</div><div>    fun void method() {<span class="Apple-tab-span" style="white-space:pre">      </span><<< "instance method()" >>>; }</div>
<div>}</div><div>F.method();<span class="Apple-tab-span" style="white-space:pre">                   </span>// call method via class</div><div>(new F).method();<span class="Apple-tab-span" style="white-space:pre">            </span>// call method via instance</div>
<div><div>==== produces:</div><div><div>"static method()" : (string)</div><div>"static method()" : (string)</div><div><div>====</div><div><br></div><div>I can convince myself that this isn't really a bug, if "static" really means "make this variable or method shared by all instances", but it would be nice if the compiler warned you about identically named methods.  (Note that the compiler DOES issue an error for identically named variables.)</div>
<div><br></div><div>- Rob</div><div><br></div><div></div></div></div><div></div></div></div>