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