www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: Overload by return type

BCS Wrote:

 Hello dsimcha,
 
 Just curious, why doesn't D, and why don't more statically typed
 languages in general, support overload by return type?  I haven't
 exactly thought through all the pros and cons, but at first glance it
 seems like an incredibly useful thing.  What's the catch that I'm
 missing?
 

Off hand it's one more degree of freedom (and confusion) in trying to figure out what type something is. int bar(char[] c) int[] bar(char[] c) float baz(int i) object baz(int[] i) auto z = baz(bar("what type is z")); float foo(); object foo(); z = foo(); // what foo? Also for all other cases in D (and C, and C++, and C#, and ...) the semantics of an expression is not dependent on what expression it is nested under. Changing this could have far reaching consequences.

Fortunately, D already has this bug http://d.puremagic.com/issues/show_bug.cgi?id=52
Jan 22 2009