Make imports private by default

Don Clugston dac at nospam.com.au
Thu Apr 13 05:02:15 PDT 2006


Hasan Aljudy wrote:
> Frank Benoit wrote:
>> There was a posting of Tyro
>> http://www.digitalmars.com/d/archives/digitalmars/D/11081.html
>>
>> Most ppl seconded that.
>>
>> The problem is, that D does not work if you use non-private imports all
>> the time. Suddenly there are conflicts.
>>
>> A public import make the imported module part of this modules interface.
>> This can (and should) be made public explicitely.
>>
> 
> I never understood why people use private imports .. just what the hell 
> is the point?
> Please give real, concrete examples, not just theories/talk.
> "Clogging up the namespace" doesn't say anything meaningful to me.

If module foo publicly imports std.date, then any module which imports 
foo cannot use std.string.format without colliding with std.date.format.
This has bitten me several times already.



More information about the Digitalmars-d mailing list