www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Overloading issue in dmd 1.006

Tested in dmd 1.006 on Linux, the two toString definitions conflicts when they
are in main, not when they are out of the main function.

import std.stdio;
int main(char[][] args)
{	
	enum Foo { A , B };
	enum Foo2 { C , D };
	
	char[] toString(Foo x)
	{
		return "1";
	}
	char[] toString(Foo2 x)
	{
		return "2";
	}	

    Foo s = Foo.A;
    writefln("s is %s, with name %s\n", s, toString(s));
	
    Foo2 o = Foo2.C;
    writefln("o is %s, with name %s\n", o, toString(o));
    return 0;
} 
Feb 20 2007