extern(C++, ns)

Manu via Digitalmars-d digitalmars-d at puremagic.com
Sun Jan 10 17:20:40 PST 2016


On 8 January 2016 at 23:40, Walter Bright via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On 1/7/2016 9:14 PM, Manu via Digitalmars-d wrote:
>>
>> The namespace offers nothing, and introduces problems. We don't want it.
>
>
> The problems you were having were due to two bugs, since corrected, and one
> misunderstanding on how name lookups were done.

Nope.
I've tried the latest nightly against my code. I can confirm the
forward-referencing issues seem to be gone, but I had already worked
very hard to arrange and order my code to avoid that issue, so that
wasn't actually my problem (as I suspected).
This patch allows me to un-obfuscate my code by putting it back in
readable order, but the rest of my issues seem to be un-changed. They
are all name-in-namespace resolution related.
As a quick test, I changed extern(C++, ns), to extern(C++) in the
files where it couldn't find anything, and all the symbols became
visible and everything worked as it should (except obviously I
couldn't link).

Sadly, I don't have any more time I can allocate to this, I'll have to
chip away at it any further after hours. I really hoped I could get
this working over Christmas.
I'll continue to try and reduce the structure of the problem, but I
still just wish you'd remove the namespace scope. Everything would be
fixed instantly, I am certain of this.
This design doesn't give us anything, and you seem to be resisting
making an argument for its existence. We don't need to do this, we
don't need to waste any more time.


More information about the Digitalmars-d mailing list