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