Enum/typedef and overloading

renoX renosky at free.fr
Sat Feb 24 02:43:00 PST 2007

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

Do you think that's a bug or not?

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;


More information about the Digitalmars-d-learn mailing list