private module declarations

Dave Dave_member at pathlink.com
Mon Aug 7 05:50:28 PDT 2006


kris wrote:
> Sean Kelly wrote:
>> Tom wrote:
>>
>>> I know this is not the first time this comes into the light but... I 
>>> insist.
>>>
>>> Actually (luckily), one can do the following:
>>>
>>> bar.d
>>> | class Bar {...whatever...} // Aux object
>>>
>>> foo.d
>>> | private import bar; // Private could be omitted
>>> |
>>> | class Foo {...whatever...}
>>>
>>> main.d
>>> | import foo;
>>> |
>>> | void main()
>>> | {
>>> |   Foo f = new Foo;
>>> |   Bar b = new Bar; // Error, private imported in foo.d
>>> |   ...
>>>
>>> What are the difficulties of implementing in the language the following?
>>>
>>> foo.d
>>> | private class Bar {...whatever...} // Aux object
>>> | class Foo {...whatever...}
>>>
>>> main.d
>>> | import foo;
>>> |
>>> | void main()
>>> | {
>>> |   Foo f = new Foo;
>>> |   Bar b = new Bar; // Error, private member of foo.d
>>> |   ...
>>>
>>> I would love to see this someday.
>>
>>
>> I thought it already worked this way, as I use the technique quite a 
>> bit :-p  Ah well, I vote for it too then.
>>
>>
>> Sean
> 
> 
> Count me too;

Ditto.



More information about the Digitalmars-d mailing list