What to do about default function arguments

Walter Bright newshound2 at digitalmars.com
Wed Apr 25 20:44:07 PDT 2012


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?)


More information about the Digitalmars-d mailing list