Dnia 31-01-2010 o 19:49:44 daoryn <[email protected]> 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