Release D 2.087.0

Mike Franklin slavo5150 at yahoo.com
Mon Jul 15 12:36:14 UTC 2019


On Monday, 15 July 2019 at 12:19:02 UTC, Vladimir Panteleev wrote:

> You don't need to move the implementations themselves into 
> core.internal. Adding declarations there for the rt 
> implementations would suffice.

Many of the implementations in `rt/array` are templates, so the 
entire implementation should be available through object.d, not 
just declarations.

> So is the rest of core.internal.
>
> Please take a few minutes to have a look at the contents of the 
> core.internal package, as well as all the places in object.d 
> where modules from core.internal are already imported.
>
> Would you say that those cases are very unlike the case of this 
> particular change? If so, would you mind explaining how?

In `core.internal`, I see utilities that appear to be intended 
for use only within runtime, or "privately" imported by Phobos.  
I do not see implementations for fundamental language features as 
can be found in `rt`.  The code in `rt/array` implementations for 
fundamental language features, not utilities to be used privately 
with druntime.

>> Based on what you and Vladimir have said, I'm even more 
>> confident I've made the right decision putting them in `rt`.
>
> I really don't see the series of logical steps one would need 
> to take to reach that conclusion.

"rt can import core, but core can't import rt." makes it pretty 
clear to me.

Mike




More information about the Digitalmars-d-announce mailing list