Release D 2.087.0
David Nadlinger
code at klickverbot.at
Mon Jul 15 21:46:05 UTC 2019
On Monday, 15 July 2019 at 20:57:59 UTC, Johannes Pfau wrote:
> I don't see how "should be made public" can be interpreted as
> "should be installed", especially considering that templates
> need source code installed (core.internal), but that's
> completely orthogonal to what functions should be private
> (core.internal) / public to users of druntime.
>
> However, I'll open a PR to clarify that paragraph.
Yes, clarifying that paragraph is a good idea. The intended
meaning used to be unambiguous especially given this part:
"If a public module consists of a header file and an
implementation file (which are both maintained by hand) then it
is OK to import private modules in the implementation file."
This refers to the fact that some modules (object, core.thread)
used to have hand-written .di files to separate the public
interface from the implementations (which made use of rt.*
imports).
Now that those duplicate .di files have (fortunately!) been done
away with, I can see how the wording could be unclear without
that prior knowledge. And in either case, avoiding to use heavily
overloaded terms ("private"/"public") without further explanation
is a good idea.
>> This split has been in place since back in the D1/Tango days.
>
> Sure, the core vs rt split did. But core.internal did not exist
> in D1.
How core is organised internally has little do with whether rt is
public or not.
— David
More information about the Digitalmars-d-announce
mailing list