http://d.puremagic.com/issues/show_bug.cgi?id=2935
--- Comment #8 from Walter Bright <bugzi...@digitalmars.com> 2010-04-27 09:04:17 PDT --- The problem is the code here in expression.c funcParameters(): arg = p->defaultArg; arg = arg->copy(); <-- Danger, Will Robinson! arg = arg->resolveLoc(loc, sc); arguments->push(arg); The arg->copy() is the problem, as it will copy any DeclarationExp's resulting in multiple declarations with the same name. A correct fix will be to do what DeclarationExp::doInline() does, which is for any non-static declarations, create another declaration. A new expression tree walker has to be built to accomplish this. Perhaps a good approach is to create a generic walker that accepts a lambda function to operate on each node. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------