On Wednesday, 1 August 2018 at 23:04:01 UTC, Walter Bright wrote:
An example of silent hijacking:

   extern (C++, "ab") void foo(long); // original code
   ... lots of code ...
extern (C++, "cd") void foo(int); // added later by intern, should have been
                                     // placed in another module
   ... a thousand lines later ...
foo(0); // OOPS! now calling cd.foo() rather than ab.foo(), D sux

You might say "nobody would ever write code like that." But that's like the C folks saying real C programmers won't write:


You can do that today, just remove the "extern(C++, ...)" part and you have the same issue. Why should C++ with namespaces be safer than just regular D ? I don't understand, if it is such a huge gigantic problem why didn't you do anything to solve this problem in regards to D then ?

Reply via email to