Overload by return type
Kagamin
spam at here.lot
Thu Jan 22 02:30:49 PST 2009
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
More information about the Digitalmars-d
mailing list