Release D 2.087.0

Mike Franklin slavo5150 at yahoo.com
Mon Jul 15 14:00:23 UTC 2019


On Monday, 15 July 2019 at 13:00:08 UTC, Vladimir Panteleev wrote:

>> We are trying to implement many of those `extern(C)` runtime 
>> hooks as templates.  Those templates need to be implicitly 
>> imported through object.d.  That means code that was in `rt` 
>> is converted to a template, and then moved to object.d.  
>> However, as we do more and more of them object.d becomes 
>> unwieldy.
>>
>> I took the initiative to prevent object.d from turning into a 
>> more of a monstrosity that it already is, and moved those 
>> runtime templates (which used to reside in `rt`) back into 
>> `rt`.
>
> This is not a problem, and not at all related to the issue 
> we're discussing. The problem is that you chose to move them 
> into `rt` instead of somewhere under `core`, which would 
> respect existing conventions and avoid breakages like the ones 
> we've seen reported in this thread.

It is related.  If I follow your suggestion to move these 
implementations to `core.internal` and continue with the 
objective of converting all runtime hooks to templates, the vast 
majority of `rt` will end up being moved to `core.internal`.  Is 
that what you're suggesting?

`rt` is the language implementation.  `core.internal` contains 
the utilities used internally by druntime and "privately" 
imported by Phobos.  Following that established convention, I 
made the right decision.

I'm sorry it broke digger, but digger is not how we typically 
build DMD, druntime, and Phobos.

Mike


More information about the Digitalmars-d-announce mailing list