private module declarations

Tom ihate at spam.com
Sun Aug 6 17:19:35 PDT 2006


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.

Regards,
--
Tom;
"Some things have to be believed to be seen."



More information about the Digitalmars-d mailing list