<div class="gmail_quote">On Wed, May 16, 2012 at 9:07 PM, Steven Schveighoffer <span dir="ltr"><<a href="mailto:schveiguy@yahoo.com" target="_blank">schveiguy@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Wed, 16 May 2012 12:21:27 -0400, Gor Gyolchanyan <<a href="mailto:gor.f.gyolchanyan@gmail.com" target="_blank">gor.f.gyolchanyan@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
if("" != []) assert("".length != 0);<br>
<br>
Will this fail?<br>
</blockquote>
<br></div>
No.  Ambiguities only come into play when you use 'is'.  I highly recommend not using 'is' for arrays unless you really have a good reason, since two slices can be 'equal' but 'point at different instances'.<br>

<br>
For example:<br>
<br>
auto str = "abcabc";<br>
assert(str[0..3] == str[3..$]); // pass<br>
assert(str[0..3] is str[3..$]); // fail<br>
<br>
which is very counterintuitive.<br>
<br>
-Steve<br>
</blockquote></div><br>Doesn't assert("".length != 0) look extremely counter-intuitive?<br clear="all"><div><br></div>-- <br>Bye,<br>Gor Gyolchanyan.<br>