But maybe some of the DMD experts can speak up about this. ;-)
This is fairly well known, the same thing exists for static variables and nested functions etc. I think there is even a bounty on one of those bugs.
The solution is also fairly straightforward - give each local declaration a unique name (for mangling only). It probably requires some minor structural changes in dmd.
