Is anything private by default when declared in a module?
H. S. Teoh
hsteoh at quickfur.ath.cx
Tue Dec 3 07:24:51 PST 2013
On Tue, Dec 03, 2013 at 04:16:04PM +0100, Adam D. Ruppe wrote:
[...]
> BTW private names should be outright invisible outside the module.
> At least private things at module scope. I get really annoyed with
> "public symbol foo from module bar conflicts with private symbol foo
> from module baz". Gee, I wonder which one I wanted to use???
Yeah, that's pretty annoying. Once I wrote a module that exports a
symbol that just so happens coincided with a private symbol in
std.regex, and the compiler complained all over the place about it.
Pretty annoying. Worse yet, the code *worked* when the code that
referenced that symbol was in the same module, but when it was moved out
during code reorg, it started to fail compiling. I was not very happy
with that. (And doesn't that go against what TDPL says, too?)
> But that's a separate issue.
>
> >https://d.puremagic.com/issues/show_bug.cgi?id=314
>
> wait, I thought Kenji fixed that? The comments don't say why it was
> reopened... did it just break too much Phobos code or was the fix
> wrong in some other way?
The pull linked to in the bug hasn't been merged yet.
T
--
Long, long ago, the ancient Chinese invented a device that lets them see through walls. It was called the "window".
More information about the Digitalmars-d-learn
mailing list