On Mon, 28 Apr 2014 10:37:36 -0400, Byron <byron.he...@gmail.com> wrote:
why not import _cpp = bar; ?
That doesn't help. foo.func() is still ambiguous. With this proposal, you have hijacked the meaning of namespace lookup. When I say x.y.z, it doesn't just mean look for symbol z in module x/y.d, it can also mean to look for symbol z in C++ namespace x::y. This was not the case with C binding, which continued to use D modules for symbol lookup.
Consider that a boatload of C++ code is named std::something. Now, std.string has an ambiguous meaning wherever it is used!
-Steve