Thread name conflict

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Mon May 5 06:11:29 PDT 2014


On Monday, 5 May 2014 at 12:48:11 UTC, Jonathan M Davis via 
Digitalmars-d wrote:
> 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.

As far as I know Walter does not object changes here anymore. It 
is only matter of agreeing on final design and implementing.

> 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.

I remember disagreeing with Martin about handling protection 
checks from template instances. Those are semantically verified 
at declaration point but actual instance may legitimately need 
access to private symbols of instantiating module (think template 
mixins). Probably there were other corner cases but I can't 
remember those I have not been arguing about :)

Anyway, DIP22 is on agenda for DMD 2.067 so this topic is going 
to be back to hot state pretty soon.


More information about the Digitalmars-d mailing list