On Sunday, 29 July 2018 at 11:03:43 UTC, Jonathan M Davis wrote:
I guess that the argument at that point is that you would have to put them in separate D modules, just like you would if they were extern(D) functions.

Yep, that'd sound acceptable to me, implying that

```
extern(C++, cppns) { void foo(); }
void foo();
```

wouldn't work anymore, and particularly, this neither:

```
extern(C++, cppns)
{
    extern(C++, nested) { void foo(); }
    void foo();
}
```

so that a straight C++ namespace => D module hierarchy mapping would probably be required in the general case:

```
// cppns/package.d
module cppns;
extern(C++, cppns) { void foo(); }

// cppns/nested/package.d
module cppns.nested;
extern(C++, cppns) extern(C++, nested) { void foo(); }
```

Reply via email to