Is there any good reason why C++ namespaces are "closed" in D?

Daniel N no at public.email
Tue Jul 31 08:33:52 UTC 2018


On Monday, 30 July 2018 at 13:48:46 UTC, Atila Neves wrote:
> 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")
>
> This doesn't work for templates. If it did I wouldn't have an 
> issue since libclang tells me what the mangling is.

What is the deal-breaker with templates? For simple functions 
libclang + pragma seems the best option right now.

template fun()
{
     pragma(mangle, "_ZN2ns3funEv")
     extern(C++)
     void fun() {}
}

mixin fun;



More information about the Digitalmars-d mailing list