D Editions
Gregor Mückl
gregormueckl at gmx.de
Fri May 31 00:56:36 UTC 2024
On Thursday, 30 May 2024 at 18:31:48 UTC, Atila Neves wrote:
> https://github.com/atilaneves/DIPs/blob/editions/editions.md
>
> Destroy!
How are editions going to retain compatibility across modules
with different ABIs? I believe that combinations of inheritance
and interface implementations may make this quite challenging.
A probably needlessly convoluted example would be this:
- a module A, edition 2024, containing a class Foo
- a module B, edition 2024+x, containing a class Bar, and
- a module C, edition 2024+y, defining an interface IFooBar and
two classes FooBar_Foo and FooBar_Bar that derive from Foo and
Bar respectively, but implement the IFooBar interface on top of
them.
Any function that takes a IFooBar should be able to take both
implementation interchangeably. But how would this work if there
was an ABI change to the class memory layout affecting Foo and
Bar?
More information about the dip.ideas
mailing list