On Thursday, 14 November 2013 at 16:27:39 UTC, Agustin wrote:
final uint registerEvent(T, J)(IPlugin, void delegate(J))
{
....
}
final uint registerEvent(IPlugin, EventHandler, EventInfo,
ulong)
{
....
}
There seems to be a problem when having two function with same
name but different parameters. Only happend when one of the
function use templates. Is that a compiler limitation?
This works fine with v2.064.2
import std.stdio;
class ClassName
{
final uint registerEvent(T, J)(T x, void delegate(J))
{
return 1;
}
final uint registerEvent(long, string, int, ulong)
{
return 1;
}
}
void main(string[] args)
{
auto x = new ClassName();
writefln("%s", x.registerEvent!(int, int)(1, delegate(int x)
{}));
writefln("%s", x.registerEvent(1, "sdsds", 3, 4));
}