<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 3 January 2016 at 14:54, Manu <span dir="ltr"><<a href="mailto:turkeyman@gmail.com" target="_blank">turkeyman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">[...]</div></blockquote><div><br></div>In addition to that rant, extern(C++) seems to fail at forward referencing. Any time I have 2 modules that refer to eachother, suddenly the order of everything is critical. I can sometimes resolve these problems by moving imports out of the global scope, but often it's terminal, and I need to restructure everything in awkward and unnatural ways to break the stalemate.</div><div class="gmail_quote"><br></div><div class="gmail_quote">I know I'll just get complaints from people to submit bugs; I have submit lots, and in many cases, I've tried to, but they're almost impossible to produce in isolation, only when a project gets 'real', ie, big enough that it's realistic in scope does it all start to break down. It's really hard to reduce a bug that I don't understand, somewhere among a program with 30-ish interconnected modules. It's worse when the structure of the project is unnatural, a requirement forced by the namespace issue, and everything is already really brittle as a result.</div><div class="gmail_quote"><br></div><div class="gmail_quote">The thing is, it almost all comes back to the pseudo-namespaces (sprinkled with weird forward referencing issues). Maybe it sounded good at the time, but it doesn't work in practice. If that was fixed, then we'd stand on solid ground, and it might be possible to reduce bugs and move forward in that environment.</div></div></div>