std.compress

monarch_dodra monarchdodra at gmail.com
Tue Jun 4 02:11:48 PDT 2013


On Tuesday, 4 June 2013 at 08:33:29 UTC, Peter Alexander wrote:
> On Tuesday, 4 June 2013 at 08:23:52 UTC, Walter Bright wrote:
>>> You should also mangle the name so that it doesn't
>>> pollute the unqualified symbol namespace (either that or fix 
>>> visibility of
>>> private symbols).
>>
>> If it proves useful, it will be moved into some more proper 
>> and public place.
>>
>> I think it's a bad idea to 'mangle' the name. First off, if it 
>> is private, it is not visible. And even being public, the 
>> anti-hijacking language features make it a non-problem. The 
>> whole point is to avoid the wretched C problems with a global 
>> name space, by not having a global name space.
>
> import std.compress;
> import mylib.circularbuffer;
>
> CircularBuffer!(ubyte[1024]) buf;
>
> ERROR: conflicting names, even though 
> std.compress.CircularBuffer is private! I have to fully qualify 
> CircularBuffer, or use alias to get around the problem.

Is this according to the specs though, or a bug? It was my
understanding that another module's private symbols should not
even be "seen" ?


More information about the Digitalmars-d mailing list