D Editions

Gregor Mückl gregormueckl at gmx.de
Sat Jun 1 00:30:36 UTC 2024


On Friday, 31 May 2024 at 16:39:11 UTC, Jonathan M Davis wrote:
> One crucial element here is that the expectation is that all of 
> the code will be built with the same version of the same 
> compiler. We're going for source compatibility, not binary 
> compatibility. So, as long as the compiler is able to compile 
> the code in a fashion that it all works correctly, we're fine 
> regardless of how previous versions of the compiler would have 
> compiled that code. And there is no guarantee of ABI 
> compatibility across compiler versions. So, unless there's 
> something fundamental that changes with an edition where we 
> can't maintain compatibility, we're fine, and the previous 
> discussions on this came to the conclusion that if making a 
> change in an edition was going to make it so that you couldn't 
> have multiple editions interacting together, then we couldn't 
> make that change.
>
> - Jonathan M Davis

Defining things that way simplifies matters a lot.

This brings me to a follow-up question: how can e.g. druntime 
evolve in this framework? Its public interface (e.g. the object 
class) needs to always stay compatible with *all* editions the 
compiler supports at that time, right?


More information about the dip.ideas mailing list