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