December 03, 2013 Re: Is anything private by default when declared in a module? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Adam D. Ruppe | 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". |
December 03, 2013 Re: Is anything private by default when declared in a module? | ||||
---|---|---|---|---|
| ||||
Posted in reply to lomereiter | On Monday, 2 December 2013 at 21:28:48 UTC, lomereiter wrote: > On Monday, 2 December 2013 at 20:53:10 UTC, Namespace wrote: > OMG now I get it why in 2.064 importing std.regex makes visible std.uni.isWhite all of a sudden. Unicorns cannot be white, as they are already pink & invisible. At least the std ones... http://en.wikipedia.org/wiki/Invisible_Pink_Unicorn |
Copyright © 1999-2021 by the D Language Foundation