Thanks for the reply Jonathan, but it didn't work for me:<br><br><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><font class="Apple-style-span" face="'courier new', monospace">void abc(T) (T[] parm1)</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">if (isDynamicArray!T)</font></div><div><font class="Apple-style-span" face="'courier new', monospace">{</font></div><div><font class="Apple-style-span" face="'courier new', monospace">  writeln("array : ", parm1);</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">}</font></div></blockquote><div><br></div><div>Nor did:</div><div><blockquote class="webkit-indent-blockquote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
<div><font class="Apple-style-span" face="'courier new', monospace">void abc(T) (T[] parm1)</font></div><div><font class="Apple-style-span" face="'courier new', monospace">if (isStaticArray!T)</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">{</font></div><div><font class="Apple-style-span" face="'courier new', monospace">  writeln("array : ", parm1);</font></div><div>
<font class="Apple-style-span" face="'courier new', monospace">}</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div></blockquote></div><div><br></div><div>Output is the same:</div>
<div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><span class="Apple-style-span" style="font-family: 'courier new', monospace; ">simpleparm: 1</span></div>
</div><div><div><font class="Apple-style-span" face="'courier new', monospace">simpleparm: str</font></div></div><div><div><font class="Apple-style-span" face="'courier new', monospace">simpleparm: [1, 2]</font></div>
</div></blockquote><div><br></div><div> </div><div>John</div><div><br></div><div class="gmail_quote">On Sat, Oct 29, 2011 at 8:41 AM, Jonathan M Davis <span dir="ltr"><<a href="mailto:jmdavisProg@gmx.com">jmdavisProg@gmx.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On Saturday, October 29, 2011 08:24:29 J Arrizza wrote:<br>
> I have a template that I'd like to have a specialization for arrays.<br>
> Initiall I need it to work for byte arrays, but I'd like to make it<br>
> eventually work for all arrays. The page<br>
> <a href="http://d-programming-language.org/template" target="_blank">http://d-programming-language.org/template</a> says to use<br>
><br>
> template TFoo(T : T[]) { ... } // #2<br>
><br>
><br>
> but when I try it, it doesn't quite work:<br>
><br>
> template abc(T)<br>
>   {<br>
>     void abc(T parm1)<br>
>       {<br>
>         writeln("simpleparm: ", parm1);<br>
>       }<br>
>   }<br>
><br>
> template abc(T: T[])<br>
>   {<br>
>     void abc(T parm1)<br>
>       {<br>
>         writeln("array : ", parm1);<br>
>       }<br>
>   }<br>
><br>
><br>
> void main(string[] args)<br>
>   {<br>
>     abc(1);<br>
>     abc("str");<br>
>     int[] arr = [1, 2];<br>
>     abc(arr);<br>
>   }<br>
><br>
><br>
> The output is:<br>
><br>
> simpleparm: 1<br>
> simpleparm: str<br>
> simpleparm: [1, 2]<br>
><br>
><br>
> Which is not what I want, it needs to be the specialized  template for<br>
> arrays. Note, this doesn't work either:<br>
><br>
> template abc(T: T[])<br>
>   {<br>
>     void abc(T[] parm1)<br>
>       {<br>
>         writeln("array : ", parm1);<br>
>       }<br>
>   }<br>
<br>
</div></div>Use std.traits.isDynamicArray in a template constraint. eg.<br>
<br>
void abc(T)(T parm1)<br>
    if(isDynamicArray!T)<br>
{<br>
}<br>
<font color="#888888"><br>
- Jonathan M Davis<br>
</font></blockquote></div><br><br clear="all"><div><br></div>-- <br>John<br>blog: <a href="http://arrizza.blogspot.com/">http://arrizza.blogspot.com/</a><br>web: <a href="http://www.arrizza.com/">http://www.arrizza.com/</a><br>