What to do about default function arguments

Ary Manzana ary at esperanto.org.ar
Wed Apr 25 22:29:29 PDT 2012


On 4/26/12 11:44 AM, Walter Bright wrote:
> A subtle but nasty problem - are default arguments part of the type, or
> part of the declaration?
>
> See http://d.puremagic.com/issues/show_bug.cgi?id=3866
>
> Currently, they are both, which leads to the nasty behavior in the bug
> report.
>
> The problem centers around name mangling. If two types mangle the same,
> then they are the same type. But default arguments are not part of the
> mangled string. Hence the schizophrenic behavior.
>
> But if we make default arguments solely a part of the function
> declaration, then function pointers (and delegates) cannot have default
> arguments. (And maybe this isn't a bad thing?)

I don't understand the relationship between two delegate types being the 
same and thus sharing the same implementation for default arguments for 
*different instances* of a delegate with the same type.

Maybe a bug in how it's currently implemented?


More information about the Digitalmars-d mailing list