Thread name conflict

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Mon May 5 05:47:40 PDT 2014


On Mon, 05 May 2014 15:55:13 +0400
Dmitry Olshansky via Digitalmars-d <digitalmars-d at puremagic.com> wrote:
> Why the heck should internal symbols conflict with public from other
> modules? No idea.

Because no one has been able to convince Walter that it's a bad idea for
private symbols to be visible. Instead, we've kept the C++ rules for that, and
they interact very badly with module-level symbols - something that C++
doesn't have to worry about.

Unfortunately, as I understand it, fixing it isn't quite as straightforward as
making private symbols invisible. IIRC, Martin Nowak had a good example as to
why as well as a way to fix the problem, but unfortunately, I can't remember
the details now. Regardless, I think that most of us agree that the fact that
private symbols conflict with those from other modules is highly broken. And
it makes it _very_ easy to break code by making any changes to a module's
implementation. The question is how to convince Walter. It'll probably require
that someone just go ahead and implement it and then argue about a concrete
implementation rather than arguing about the idea.

- Jonathan M Davis


More information about the Digitalmars-d mailing list