Some things to fix
Ary Borenszweig
ary at esperanto.org.ar
Thu Jul 30 09:37:52 PDT 2009
Steven Schveighoffer wrote:
> On Thu, 30 Jul 2009 12:17:53 -0400, Ary Borenszweig
> <ary at esperanto.org.ar> wrote:
>
>> Steven Schveighoffer wrote:
>>> On Thu, 30 Jul 2009 12:04:54 -0400, Ary Borenszweig
>>> <ary at esperanto.org.ar> wrote:
>>>
>>>> 1. private applied to structs, classes, etc., doesn't have any
>>>> effect: I can access them anyway.
>>>> 2. modifiers that don't make sense should be disallowed.
>>>>
>>>> I think these are pretty serious bugs (specially the first one). Why
>>>> new features are added to D and these things are not getting fixed?
>>> 1 is not a problem unless you are in the same file. Any
>>> classes/functions compiled in the same module are considered to be
>>> part of the same module of code, and therefore have access to
>>> eachothers private data. Try accessing same private fields from
>>> outside the module.
>>
>> That's exactly what I'm saying.
>>
>> ---
>> module one;
>>
>> private struct Foo {}
>> ---
>> module two;
>>
>> import one;
>>
>> Foo foo;
>> ---
>>
>> Compiles without errors.
>
> Oh, I read private applied to struct/class *members* sorry...
Yeah, I didn't write "from other modules", so I wasn't clear enough.
>
> I agree private classes/structs should work. I'm sure there's a
> bugzilla for it already.
There are several now about protection attributes not working as expected:
http://d.puremagic.com/issues/show_bug.cgi?id=1161
http://d.puremagic.com/issues/show_bug.cgi?id=1567
http://d.puremagic.com/issues/show_bug.cgi?id=2225
http://d.puremagic.com/issues/show_bug.cgi?id=2830
http://d.puremagic.com/issues/show_bug.cgi?id=313
http://d.puremagic.com/issues/show_bug.cgi?id=314
More information about the Digitalmars-d
mailing list