www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Overloading Generic and non-generic functions

reply Andrej Mitrovic <none none.com> writes:
AFAIK the following should be allowed, but it's not (v2.048):

void test(uint) {  }

void test(T)(T value) { }

void main()
{
    test(42);
    test("hello");
}

These end up conflicting with each other. From what I've read in TDPL we should
be able to overload generic and nongeneric functions, there's an example in the
book similar to this one, but it doesn't work. Has this been filed as a bug
already?
Oct 14 2010
parent "Simen kjaeraas" <simen.kjaras gmail.com> writes:
Andrej Mitrovic <none none.com> wrote:

 AFAIK the following should be allowed, but it's not (v2.048):

 void test(uint) {  }

 void test(T)(T value) { }

 void main()
 {
     test(42);
     test("hello");
 }

 These end up conflicting with each other. From what I've read in TDPL we  
 should be able to overload generic and nongeneric functions, there's an  
 example in the book similar to this one, but it doesn't work. Has this  
 been filed as a bug already?
http://d.puremagic.com/issues/show_bug.cgi?id=2972 -- Simen
Oct 14 2010