On Sunday, 29 July 2018 at 03:20:29 UTC, Walter Bright wrote:
On 7/28/2018 11:18 AM, Manu wrote:
Make a PR that implements namespace as a string... I will use that fork of D forever.

1. Look how it is mangled on the C++ side. (Use "grep" on the object file.)

2. Use:

   pragma(mangle, "the mangled name")

That a) doesn't scale in a real dynamic codebase (think templates), and b) is platform dependent and so isn't a proper solution.

Honestly the only problem with Manu's suggestion is you can't expose `a::foo` and `b::foo` with the same signature within the same module due to (D) name collisions, although I don't see any reason why we can't do both.

Then again I don't see any (non philosophical/compiler front end internal) issue why you can't reopen a namespace. D is supposed to be pragmatic, after all.

Reply via email to