Which language futures make D overcompicated?
Ralph Doncaster
nerdralph at github.com
Fri Feb 9 15:29:52 UTC 2018
On Friday, 9 February 2018 at 15:03:02 UTC, Adam D. Ruppe wrote:
> On Friday, 9 February 2018 at 14:59:38 UTC, Ralph Doncaster
> wrote:
>> The docs say using "private" will keep the symbol out of the
>> file, but that is not true.
>> https://dlang.org/spec/attribute.html#static
>
> That sentence isn't well written since D's private and C's
> static
> are different... what D's private does is make the symbol
> invisible to other D files; when you import the module, it
> doesn't import the private names so it acts like they don't
> exist.
>
> But they do still exist in the object file. I'm pretty sure C's
> statics do too actually just without an exported name...
Yes, C's "const static" will still create a symbol in the object
file. I just checked with gcc5, and it creates a local readonly
symbol "r".
My point is that in D, the docs say "private" will keep the
definition out of the object file. I think you'll have to agree
that it's at least confusing.
More information about the Digitalmars-d
mailing list