What to do about default function arguments
Nathan M. Swan
nathanmswan at gmail.com
Wed Apr 25 21:00:04 PDT 2012
On Thursday, 26 April 2012 at 03:44:27 UTC, 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 think it's a bad thing: default arguments in the type
system mean values in the type system.
NMS
More information about the Digitalmars-d
mailing list