On Sun, 30 Mar 2014 00:11:50 -0500, Walter Bright <[email protected]> wrote:

On 3/29/2014 8:38 PM, Daniel Murphy wrote:
"Walter Bright"  wrote in message news:[email protected]...

On 3/29/2014 8:26 PM, Daniel Murphy wrote:
> It could, but we don't have a stable ABI

? The ABI for interfaces hasn't changed in many years. In fact I don't even
remember changes in it.

I meant stable in the sense that we _can't_ break it, not that we _haven't_
broken it recently.

ie we don't guarantee binary compatibility across releases.

ok.

Actually, there is one big thing that this would break; C++ interop. With the way interfaces currently work, you can define an interface with virtual methods, and you can call those methods on that interface, and, if you've properly overlayed it over a C++ class instance, you will be calling a virtual method defined on that C++ class. Fat interfaces would break this capability, and would actually break some of my existing code, due to the fact I use that exact capability. I do however mark my interfaces as extern(C++), so perhaps they would have to be an exception to the ABI if this change were made?

Reply via email to