Dnia 31-01-2010 o 19:49:44 daoryn <ma...@fots.po> napisał(a):
import std.stdio; void print(T)(T thing) { writeln("Calling print(T)"); writeln(T.stringof); } void print(T:T[])(T[] things) { writeln("Calling print(T[])"); writeln(T.stringof); } void main() { print(3); print([1,2,3]); }
I'd say it should be more like: // specialization needed to limit matching types void print(T:int)(T thing) { writeln("Calling print(T)"); writeln(T.stringof); } // T is an array of any Us. void print(T:U[], U)(T things) { writeln("Calling print(T[])"); writeln(T.stringof); } Tomek