<div class="gmail_quote">On Sat, Oct 29, 2011 at 4:14 PM, Andrei Alexandrescu <span dir="ltr"><<a href="mailto:SeeWebsiteForEmail@erdani.org">SeeWebsiteForEmail@erdani.org</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"><br></div>
What's wrong with isStaticArray? Also, OP may want to look at isNarrowString.<br><font color="#888888">
<br>
<br>
Andrei<br>
</font></blockquote></div><br>Tried isStaticArray:
<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><font class="Apple-style-span" face="'courier new', monospace">void abc(T:U[], U) (T parm1)</font></div>
</div><div><div><font class="Apple-style-span" face="'courier new', monospace">  if (isDynamicArray!T)</font></div></div><div><div><font class="Apple-style-span" face="'courier new', monospace">  {</font></div>
</div><div><div><font class="Apple-style-span" face="'courier new', monospace">  writeln("dynamic array : ", parm1);</font></div></div><div><div><font class="Apple-style-span" face="'courier new', monospace">  }</font></div>
</div><div><div><font class="Apple-style-span" face="'courier new', monospace">void abc(T:U[], U) (T parm1)</font></div></div><div><div><font class="Apple-style-span" face="'courier new', monospace">  if (isStaticArray!T)</font></div>
</div><div><div><font class="Apple-style-span" face="'courier new', monospace">  {</font></div></div><div><div><font class="Apple-style-span" face="'courier new', monospace">  writeln("static array : ", parm1);</font></div>
</div><div><div><font class="Apple-style-span" face="'courier new', monospace">  }</font></div></div></blockquote><div><br></div><div>It didn't match. The output was:</div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
<div><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">simpleparm: 1</font></div></div><div><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">dynamic array : str</font></div>
</div><div><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">dynamic array : [1, 2]</font></div></div><div><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">simpleparm: [3, 4]</font></div>
</div></blockquote><div style="text-align: left;"><br></div><div style="text-align: left;">isNarrowString isn't in the traits online doc. Looked it up in std/traits.d and I tried it:</div><div style="text-align: left;">
<br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">void abc(T) (T parm1)</font></div>
</div><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">  if (isNarrowString!T)</font></div></div><div style="text-align: left;"><div style="text-align: left;">
<font class="Apple-style-span" face="'courier new', monospace">  {</font></div></div><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">  writeln("string : ", parm1);</font></div>
</div><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">  }</font></div></div><div style="text-align: left;"><div style="text-align: left;">
<font class="Apple-style-span" face="'courier new', monospace">void abc(T:U[], U) (T parm1)</font></div></div><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">  if (isDynamicArray!T)</font></div>
</div><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">  {</font></div></div><div style="text-align: left;"><div style="text-align: left;">
<font class="Apple-style-span" face="'courier new', monospace">  writeln("dynamic array : ", parm1);</font></div></div><div style="text-align: left;"><div style="text-align: left;"><font class="Apple-style-span" face="'courier new', monospace">  }</font></div>
</div></blockquote><div style="text-align: left;"><div style="text-align: left;"><br></div><div style="text-align: left;">and get compiler ambiguity for abc("str") between the two templates above.</div><div style="text-align: left;">
<br></div><div style="text-align: left;">John</div></div>