auto parameter causing template (suggestion for D)
david
davidl at 126.com
Fri Sep 22 21:04:07 PDT 2006
take a look at this:
import std.stdio;
void myoverload(auto foo)
{
static if (is ( typeof(foo):int ) )
{ writefln("int");
}
else
static if (is ( typeof(foo):char[] ) )
{ writefln("char[]");
}
}
void main()
{
myoverload(3);
myoverload("asdkjf");
}
Though this is a trivial improvement to D language. but I think that
affect people differently in their mind. People would no longer notice
they are writing a template for that myoverload
People would see that function as a normal function.
Though that would lost the type information where we can get from void
myoverload(T)(T t) directly from T, I think typeof(foo) won't bother too
much! And it's really elegant way to implement in that way.
More information about the Digitalmars-d
mailing list